在客户端通过RemotingConfiguration.RegisterWellKnownClientType(typeof(LoginManager), "tcp://localhost:8888/LoginManager.soap");注册后,
由于端口从8888改为9999,请问客户端程序如何实现不重新启动而注册为新的端口呢?
由于端口从8888改为9999,请问客户端程序如何实现不重新启动而注册为新的端口呢?
{
for (int i = 0; i < RemotingConfiguration.GetRegisteredWellKnownClientTypes().Length; i++)
{
if (RemotingConfiguration.GetRegisteredWellKnownClientTypes()[i].ObjectUrl == objectUri)
{
ChannelDataStore cds = null;
TcpChannel tc = (TcpChannel)ChannelServices.RegisteredChannels[i];
cds = (ChannelDataStore)tc.ChannelData;
return cds.ChannelUris[0];
}
return null;
}
return null;
}
cds.ChannelUris[0];
返回的是类似这样的"tcp://localhost:8888/",即可查出你要参入的objectUri即你的"LoginManager.soap"
现在理解为你还没有注册,只是想通过RemotingConfiguration.RegisterWellKnownClientType(typeof(LoginManager), "tcp://localhost:9999/LoginManager.soap");来获取对象。
你可以获取之前直接注册9999端口啊。这样就行了啊