在这个机会中,当我尝试多次调用Web服务方法时,我遇到了一个非常奇怪的问题。由于某些原因,在几次调用后,我得到以下异常。线程正在中止,这是该例外的痕迹:
at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
at System.Net.Connection.PollAndRead(HttpWebRequest request, Boolean userRetrievedStream)
at System.Net.ConnectStream.PollAndRead(Boolean userRetrievedStream)
at System.Net.HttpWebRequest.EndWriteHeaders(Boolean async)
at System.Net.HttpWebRequest.WriteHeadersCallback(WebExceptionStatus errorStatus, ConnectStream stream, Boolean async)
at System.Net.ConnectStream.WriteHeaders(Boolean async)
at System.Net.HttpWebRequest.EndSubmitRequest()
at System.Net.HttpWebRequest.CheckDeferredCallDone(ConnectStream stream)
at System.Net.HttpWebRequest.GetResponse()
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
这在我的生产环境中发生,当我尝试在我的开发人员测试环境中重现该错误时,它正常工作,所以我真的不知道这个调用发生了什么问题。
你可以给我一个建议,以解决这个问题。
提前感谢。
答案 0 :(得分:0)
我将在服务器上启用WCF跟踪日志记录,并在发生错误后检查服务日志。见这里:http://msdn.microsoft.com/en-us/library/aa702726.aspx
如果/ WCF堆栈中出现错误,在应用程序代码之外,如序列化和端点错误,则最终在服务日志中。
编辑:
另外,我认为您提供的错误和堆栈跟踪来自客户端的角度。服务器上可能存在异常导致服务器无法正确回复客户端,因此客户端出错。您应该在服务器上查找此问题的根本原因。