Meine Xamarin App verwendet bei der Kommunikation mit einem Back-End-Webdienst eine externe IP-Adresse. Mit Xamarin.iOS 9.6.2.4 ist der Aufruf erfolgreich. Nach dem Upgrade auf Xamarin.iOS 9.8.0.323 treffe ich jetzt eine Ausnahme mit der Meldung "Error: NameResolutionFailure".NameResolutionFailure mit externer IP-Adresse nach dem Upgrade auf Xamarin.iOS 9.8.0.323
Wenn ich zur Verwendung der internen IP-Adresse oder des FQDN wechsle, ist der Anruf erfolgreich.
Scheint dies ein Fehler im neuesten Xamarin-Update zu sein, oder sollte etwas in der Art und Weise geändert werden, in der die Anfrage gestellt wird?
try
{
//Exception message - Error:NameResolutionFailure
string url = "http://[External-IP-Address]:8081/MyWebService/api/GetByID/1";
//The following two URLs are successful
//string url = "http://[Internal-IP-Address]:8081/MyWebService/api/GetByID/1";
//string url = "http://[Fully-Qualified-Domain-Name]:8081/MyWebService/api/GetByID/1";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(url));
request.ContentType = "application/json";
request.Method = "GET";
request.Timeout = 10 * 60 * 1000;
using (WebResponse response = await request.GetResponseAsync())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string jsonData = reader.ReadToEnd();
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Ausnahme-Stack-Trace
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x0005e] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/HttpWebRequest.cs:1005
at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (IAsyncResult iar, System.Func`2 endFunction, System.Action`1 endAction, System.Threading.Tasks.Task`1 promise, Boolean requiresSynchronization) [0x00014] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/threading/Tasks/FutureFactory.cs:550
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult() [0x00000] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357
at TestURL.ViewController+<ViewDidLoad>c__async0.MoveNext() [0x000b0] in /Users/Administrator/Projects/TestURL/TestURL/ViewController.cs:26
Weitere Informationen:
- Laufen auf iPhone 6s Simulator (iOS 9,3)
Hey! Um zu bestätigen, dass es sich tatsächlich um einen Fehler handelt (es scheint wirklich so zu sein, aber ich möchte bestätigen), können Sie den vorherigen Stable über diesen Link installieren: https://store.xamarin.com/account/my/subscription/downloads # cycle6 und testen? Vielen Dank! – clb
@clb Ja, nach dem Herunterstufen auf Xamarin.iOS 9.6.2.4 wird die Anforderung erfolgreich erneut ausgeführt. – jkh
Okay! Wären Sie bereit, eine Kopie der Anwendung zur Verfügung zu stellen, damit ich sie mit den Xamarin-Ingenieuren als privaten Bug ablegen kann? Nur Personen, die in Xamarin arbeiten, haben Zugriff darauf. – clb