[英]HttpClient - Xamarin Android - MvvmCross
我一直在使用Xamarin和MvvmCross開發一個Android應用程序,一切都很順利,我和我的團隊能夠開發解決方案,本周我們決定進行最后的調整並在其他環境中測試應用程序。 在測試期間,我遇到了Android解決方案的巨大問題。 在工作環境中一切正常,但當我嘗試在家測試應用程序時,應用程序停止工作。 我檢查了發生了什么,我發現HttpClient無法完成對服務器的調用並拋出以下異常:
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[System.Net.Http.HttpResponseMessage].GetResult () [0x00000] in <filename unknown>:0
at System.Net.Http.HttpClientHandler+<SendAsync>c__async0.MoveNext () [0x00000] in <filename unknown>:0
我在Google搜索了一個解決方案,我在Xamarin論壇http://forums.xamarin.com/discussion/30152/error-nameresolutionfailure(Jefimijana帖子)中發現了一個類似的問題,其中一個答案是關於網絡配置錯誤看起來很奇怪對我來說因為所有其他應用程序似乎都運行得很好。 我測試了連接到同一wifi的WPF應用程序,以檢查是否有任何問題,但它工作得很好。 所以我發現自己有一個更大的問題,我無法告訴用戶他必須重新調整他的wifi連接,當所有其他應用程序正常工作,我不能讓我的應用程序不使用某些wifis沒有明顯的原因。 所以我的問題是,這個問題有解決方案嗎? 這是某種與HttpClient相關的Xamarin問題嗎? 或者這是一個Android問題?
謝謝,
不幸的是,您沒有提供有關您嘗試做什么的更多信息,但我可以確認我們在Xamarin.Android應用程序中看到了類似的錯誤行為。
Android上的Mono網絡堆棧至少存在兩個問題(截至2015年2月),因此您並不孤單:
NameResolutionFailure
對App發出的前幾個http請求。 這個問題通常會消失,我們已經確認它不是網絡配置問題(例如,瀏覽器/ WebView發出的所有請求都沒有問題)。 其他人報告了類似的問題: https : //bugzilla.xamarin.com/show_bug.cgi?id = 18613 我現在可以推薦的最好的解決方法是使用ModernHttpClient ,這是一個使用本機API的HttpClientHandler
實現,因此不涉及單聲道網絡堆棧(加上它也快得多)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.