日期:2014-05-18 浏览次数:21329 次
private void regRemoteService()
{
BinaryServerFormatterSinkProvider serverProvider = new BinaryServerFormatterSinkProvider();
BinaryClientFormatterSinkProvider clientProvider = new BinaryClientFormatterSinkProvider();
serverProvider.TypeFilterLevel = TypeFilterLevel.Full;
IDictionary props = new Hashtable();
TcpChannel tcpChannel = null;
try
{
props["name"] = "YuHaiYang";
props["bindTo"] = this.objDBAgentApplication.RemotingIp;
props["port"] = this.objDBAgentApplication.LocalHostPort;
props["rejectRemoteRequests"] = false;
tcpChannel = new TcpChannel(props, clientProvider, serverProvider);
}
catch
{
//重新连接时让系统自选端口
props["name"] = "YuHaiYang";
props["bindTo"] = this.objDBAgentApplication.RemotingIp;
props["port"] = 0;
props["rejectRemoteRequests"] = false;
tcpChannel = new TcpChannel(props, clientProvider, serverProvider);
}
ChannelServices.RegisterChannel(tcpChannel, false);
this.eventWrapper = new EventWrapper();
this.iGpsRemote = (IGpsRemote)Activator.GetObject(typeof(IGpsRemote), "tcp://" + this.objDBAgentApplication.RemotingIp + ":" + this.objDBAgentApplication.RemotingPort + "/GPSRemoteServer.soap");
}