【发布时间】:2012-10-28 18:32:39
【问题描述】:
我可以在客户端和服务器之间建立远程通信,但是每次客户端调用 Client Activated 远程对象上的方法时,我都会收到 System.Net.WebException:
{"The underlying connection was closed: An unexpected error occurred on a receive."}
There is a System.IO.IOException INnerException
{"Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."}
The stack trace is this:
"\r\nServer stack trace: \r\n
at System.Runtime.Remoting.Channels.Http.HttpClientTransportSink.ProcessResponseException(WebException webException, HttpWebResponse& response)\r\n
at System.Runtime.Remoting.Channels.Http.HttpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)\r\n
at System.Runtime.Remoting.Channels.SoapClientFormatterSink.SyncProcessMessage(IMessage msg)\r\n\r\n
Exception rethrown at [0]: \r\n
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)\r\n
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)\r\n
at Remoting.Example.DoSomething() ....
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)\r\n
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()\r\n
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)\r\n
at System.Threading.ThreadHelper.ThreadStart()"
【问题讨论】:
-
只是想确保您知道远程处理已被 WCF 取代。
-
感谢您确保我知道。是的,我知道。我的问题仍然没有答案。
-
您 100% 确定服务器正在运行?
-
是的,100%。我知道这是因为构造函数肯定会被调用(即:当客户端连接时,它会在服务器上打印一条消息)。我只有客户端激活类型有这个问题。即:您在服务器上执行 RegisterActivatedServiceType() 并在客户端上执行 RegisterActivatedClientType() 的那些。)