Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
升级到Xamarin.iOS 9.8.0.323后外部IP地址的名称解析失败_Xamarin_Httpwebrequest_Ip Address_Fqdn - Fatal编程技术网

升级到Xamarin.iOS 9.8.0.323后外部IP地址的名称解析失败

升级到Xamarin.iOS 9.8.0.323后外部IP地址的名称解析失败,xamarin,httpwebrequest,ip-address,fqdn,Xamarin,Httpwebrequest,Ip Address,Fqdn,我的Xamarin应用程序在与后端web服务通信时使用外部IP地址。使用Xamarin.iOS 9.6.2.4,呼叫成功。升级到Xamarin.iOS 9.8.0.323后,我现在遇到一个异常,消息是“Error:namesolutionfailure” 如果切换到使用内部IP地址或FQDN,则调用成功 这似乎是最新Xamarin更新中的一个bug,还是应该更改请求的方式 try { //Exception message - Error:NameResolutionFailure st

我的Xamarin应用程序在与后端web服务通信时使用外部IP地址。使用Xamarin.iOS 9.6.2.4,呼叫成功。升级到Xamarin.iOS 9.8.0.323后,我现在遇到一个异常,消息是“Error:namesolutionfailure”

如果切换到使用内部IP地址或FQDN,则调用成功

这似乎是最新Xamarin更新中的一个bug,还是应该更改请求的方式

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);
}
异常堆栈跟踪

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 
位于/Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System/System.Net/HttpWebRequest.cs:1005中的System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asult asynchresult asresult)[0x0005e]
在System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic(IAsyncResult iar,System.Func`2 endFunction,System.Action`1 endAction,System.Threading.Tasks.Task`1 Promission,Boolean requiresSynchronization)[0x00014]在/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中
---来自引发异常的上一个位置的堆栈结束跟踪---
在/Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/System/Runtime/ExceptionServices/ExceptionServices common.cs:143中,在System.Runtime.ExceptionServices.ExceptionServices.ExceptionServices.twork中显示[0x0000c]
在/Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/System/Runtime/CompilerServices/taskwaiter.ThrowForNonSuccess(System.Threading.Task.Task)[][0x00047]中
在/Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/System/Runtime/CompilerServices/taskwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Task任务)[0002e]0x0002e]中
在/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中的System.Runtime.CompilerServices.taskWaiter.ValidateEnd(System.Threading.Threading.Task.Task.Task.Task/referencesource/mscorlib
在/Users/builder/data/lanes/3339/39ebb778/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/external/referencesource/mscorlib/System/Runtime/CompilerServices/taskauiter.cs:357中,在System.Runtime.CompilerServices.Compilers
在/Users/Administrator/Projects/TestURL/TestURL/ViewController.cs:26中的TestURL.ViewController+c_uuasync0.MoveNext()[0x000b0]
其他信息:

  • 在iPhone 6s模拟器(iOS 9.3)上运行

经过一些研究,这是第7周期基线版本的一个已知问题。我们正在跟踪以下公共错误:

此时,最好的选择是停留在第6周期,或者(如果可能的话)使用完全限定的域名


谢谢

嘿!只是为了确认它确实是一个bug(看起来确实如此,但我想确认一下),您是否能够使用以下链接安装以前的稳定版本:and test?谢谢@clb是的,在降级到Xamarin.iOS 9.6.2.4之后,请求再次成功完成。好的!您是否愿意提供应用程序的副本,以便我将其作为私人bug提交给Xamarin工程师?只有在Xamarin内部工作的人才能访问它。是的,我可以提供演示错误的示例应用程序。我是否应该在填写错误报告(我不确定我将在哪里提供应用程序的副本)。通常我建议将其上载到Dropbox并将其链接到错误上。如果你粘贴到bug的链接(确保它被标记为private),我可以在Xamarin内升级并跟进。