2

.NET Remoting を介して Publisher/Subscriber パターンを実装しています。パブリッシャーは、その URL で受信リクエストを待機しています。その側では、リモート環境は適切に構成され、まったく問題はありません。

サブスクライバーの側からパブリッシャーにいくつかのサブスクリプションを作成すると、サブスクライバーがたむろします。つまり、プログラムがハングし、コンソールに何も表示されず、消えてしまいました。ここでも例外ではありません。パブリッシャーを切断すると、処理が再開されて追跡され、スタック トレースで例外がスローされます。

これがスタックトレースです..

**System.Net.Sockets.SocketException (0x80004
005): An existing connection was forcibly closed by the remote host
Server stack trace:

   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size,
 SocketFlags socketFlags)
   at System.Runtime.Remoting.Channels.SocketStream.Read(Byte[] buffer, Int32 of
fset, Int32 size)

   at System.Runtime.Remoting.Channels.SocketHandler.ReadFromSocket(Byte[] buffe
r, Int32 offset, Int32 count)

   at System.Runtime.Remoting.Channels.SocketHandler.Read(Byte[] buffer, Int32 o
ffset, Int32 count)

   at System.Runtime.Remoting.Channels.SocketHandler.ReadAndMatchFourBytes(Byte[
] buffer)
   at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadAndMatchPreamble
()
   at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperat
ion(UInt16& operation)
   at System.Runtime.Remoting.Channels.Tcp.TcpClientSocketHandler.ReadHeaders()
   at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage
(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITranspor
tHeaders& responseHeaders, Stream& responseStream)
   at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMess
age(IMessage msg)
Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req
Msg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa
ta, Int32 type)
   at DTFSharedObjects.IRemoteEventsPublisher.AddSubscription(Type type, String
url)
   at AgentTestRunner.CTestRunner.createSubscription() in d:\dtfsourcecode\dtf_b
ackend\agentsourcecode\sourcecode\runnercode\testrunner\testrunner.cpp:line 438**

よろしくウスマン

4

0 に答える 0