C# 使用Xamarin.iOS从iOS设备调用Web服务时发生随机释放的对象异常

C# 使用Xamarin.iOS从iOS设备调用Web服务时发生随机释放的对象异常,c#,ios,web-services,xamarin.ios,C#,Ios,Web Services,Xamarin.ios,调用web服务(通过HTTP连接)时,我们会随机得到以下异常: Object name: 'System.Net.Sockets.NetworkStream'. System.ObjectDisposedException: Cannot access a disposed object. Object name: 'System.Net.Sockets.NetworkStream'. at System.Net.HttpWebRequest.EndGetResponse (IAsyncResu

调用web服务(通过HTTP连接)时,我们会随机得到以下异常:

Object name: 'System.Net.Sockets.NetworkStream'.
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.NetworkStream'.
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00065] in /Users/builder/data/lanes/3234/d8bedd03/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/HttpWebRequest.cs:946 
at System.Net.HttpWebRequest.GetResponse () [0x0000e] in /Users/builder/data/lanes/3234/d8bedd03/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/HttpWebRequest.cs:958 
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse (System.Net.WebRequest request) [0x0000e] in /Users/builder/data/lanes/3234/d8bedd03/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientProtocol.cs:173 
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse (System.Net.WebRequest request) [0x00000] in /Users/builder/data/lanes/3234/d8bedd03/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpWebClientProtocol.cs:171 
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] parameters) [0x00078] in /Users/builder/data/lanes/3234/d8bedd03/source/maccore/_build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs:354 
at HighJump.OmniTech.Common.WebServices.SynchronizationService.PostTransaction (System.String method, System.String data, System.String session, System.String transactionValues) [0x0001e] in /Users/lbmacmini01/Desktop/branches/v3.4/HighJump.OmniTech.Common/Web References/WebServices/Reference.cs:371
PostTransaction是从这样的线程调用的:

using (SynchronizationService sync = new SynchronizationService())
{
    sync.SetCredentals(creds.Server, creds.User, creds.Password);
    sync.PostTransaction(method, data, session, transactionValues);  
}
我只能在直接连接到客户运行“Windows server 2008 R2”的服务器时重复此问题。当我连接到自己的服务器时,它似乎工作正常

使用我们的“Windows”应用程序连接到客户的服务器,使用相同的生成的Web服务SoapHttpClientProtocol类,并且工作正常。我从来都不明白这个问题

它似乎是客户服务器和我们应用程序的iOS版本的组合

在iOS设备上,第一次调用“PostTransaction”方法时,它似乎可以工作,但第二次出现上述错误时

我还尝试在同一个“using”块中连续调用2个“PostTransaction”,第一个有效,第二个给出错误

我已经尝试了很多事情,不知道该做什么了

  • “SoapHttpClientProtocol”可以在没有任何 iOS中的问题
  • 从线程创建是否存在任何问题(即“新建”) 每次我们想要调用web服务时,都要处理从“SoapHttpClientProtocol”派生的“SynchronizationService”类
  • 我刚刚更新到最新的Xcode和Xamarin。 现在,问题总是发生在连接到客户服务器时,而不是连接到我自己的服务器时。 有人有什么想法吗