异步加载XML文件

时间:2014-10-02 14:55:24

标签: xml vb.net asynchronous

我使用此功能使用Google地图反转地理编码并加载带有结果的XML:

Private Function ReverseGeocode(ByVal Latitud As Double, ByVal Longitud As Double) As String

    Dim webClient As New System.Net.WebClient
    Dim sURL As String = "http://maps.googleapis.com/maps/api/geocode/xml?latlng=@lat,@long&sensor=false"
    sURL = sURL.Replace("@lat", Latitud)
    sURL = sURL.Replace("@long", Longitud)

    Dim result As String = webClient.DownloadString(sURL)
    Dim xmlDoc As New XmlDocument()
    xmlDoc.LoadXml(result)

    Dim m_nodelist As XmlNodeList
    m_nodelist = xmlDoc.SelectNodes("/GeocodeResponse/result/formatted_address")
    ReverseGeocode = m_nodelist(0).InnerText
End Function

我的问题:可以使用异步方法完成吗?

1 个答案:

答案 0 :(得分:1)

是。与DownloadStringasync一起使用await的异步版本。您可能需要使用Task.Run从UI线程中移除长时间运行的计算(如果有的话)。