.Net 远程处理和客户端已锁定但未显示错误
.Net remoting & client locked but displays no error
客户端和服务器都在同一台机器上。
在服务器端,我在一个单独的线程中构建我的远程对象(它不是主线程):
Private _remoteObject as RemoteObject
...
'Just one time :
Dim tc as TcpChannel = New TcpChannel(1002)
ChannelServices.registerChannel(tc, false)
RemotingConfiguration.RegisterWellKnownServiceType(GetType(IRemoteObject), "RemoteServerObject", WellKnownObjectMode.SingleCall)
RemotingServices.Marshal(_remoteObject, "RemoteServerObject")
...
_remoteObject = new RemoteObject()
_remoteObject.RemoteOtherObjects.Add(New RemoteOtherObject(_property1, _property2))
客户端:
Private _remoteObject as Remoting.IRemoteObject
...
'One time
Dim tcpChannel As New TcpChannel()
ChannelServices.RegisterChannel(tcpChannel, false)
Dim _remoteObject as IRemoteObject
_remoteObject = Activator.GetObject(GetType(RemotingObject.IRemoteObject), "tcp://localhost:1002/RemoteServerObject")
While True
Thread.Sleep(1000)
Dim remoteOtherObject as IRemoteOtherObject = _remoteObject.GetRemoteOtherObjectByName("testName")
For Each property2 as IProperty2 In remoteOtherObject.Properties2
Console.WriteLine(property2.someting)
Next
End While
class RemoteObject 的所有子对象继承 MarshalByRefObject。
客户端只能看到 RemoteObject(单独的 dll)的接口。
我的问题是,在客户端的 for each 循环中,我没有错误,它只是被锁定了,我的 控制台正在响应但没有任何反应写.
对这个问题有什么想法吗?
问题是两个提示冲突的问题。
服务器端使用了与客户端相同的 UI 线程,未刷新。
客户端和服务器都在同一台机器上。
在服务器端,我在一个单独的线程中构建我的远程对象(它不是主线程):
Private _remoteObject as RemoteObject
...
'Just one time :
Dim tc as TcpChannel = New TcpChannel(1002)
ChannelServices.registerChannel(tc, false)
RemotingConfiguration.RegisterWellKnownServiceType(GetType(IRemoteObject), "RemoteServerObject", WellKnownObjectMode.SingleCall)
RemotingServices.Marshal(_remoteObject, "RemoteServerObject")
...
_remoteObject = new RemoteObject()
_remoteObject.RemoteOtherObjects.Add(New RemoteOtherObject(_property1, _property2))
客户端:
Private _remoteObject as Remoting.IRemoteObject
...
'One time
Dim tcpChannel As New TcpChannel()
ChannelServices.RegisterChannel(tcpChannel, false)
Dim _remoteObject as IRemoteObject
_remoteObject = Activator.GetObject(GetType(RemotingObject.IRemoteObject), "tcp://localhost:1002/RemoteServerObject")
While True
Thread.Sleep(1000)
Dim remoteOtherObject as IRemoteOtherObject = _remoteObject.GetRemoteOtherObjectByName("testName")
For Each property2 as IProperty2 In remoteOtherObject.Properties2
Console.WriteLine(property2.someting)
Next
End While
class RemoteObject 的所有子对象继承 MarshalByRefObject。 客户端只能看到 RemoteObject(单独的 dll)的接口。
我的问题是,在客户端的 for each 循环中,我没有错误,它只是被锁定了,我的 控制台正在响应但没有任何反应写.
对这个问题有什么想法吗?
问题是两个提示冲突的问题。 服务器端使用了与客户端相同的 UI 线程,未刷新。