加入现有的 TcpChannel
Joins existing TcpChannel
我们的客户有 Citrix 环境
对于第一次启动应用程序,它会打开一个端口为 8500 OK 的 TcpChannel。当应用程序再次运行时(使用不同的进程 ID)当然不可能打开通道。但是是否可以 "Join" 或 "Merge" 到现有频道?
如何使用 TcpChannel 监听同一个端口
这是我注册频道的方法
mChannel = new TcpChannel(8500);
ChannelServices.RegisterChannel(mChannel, false);
mi_Transfer = new Remote.cTransfer();
mService = RemotingServices.Marshal(mi_Transfer, "GenerateBarcode");
根据评论,我建议创建一个 Windows 服务(在 .NET 中,一个 class 扩展 System.ServiceProcess.ServiceBase
),并让该服务托管 TcpChannel
在端口 8500 上。然后,让启动的应用程序的每个实例使用动态端口并向服务注册,向其提供启动应用程序的用户的用户名。然后,该服务可以使用用户名将它在端口 8500 上收到的请求路由到动态端口上应用程序的适当实例。
我们的客户有 Citrix 环境 对于第一次启动应用程序,它会打开一个端口为 8500 OK 的 TcpChannel。当应用程序再次运行时(使用不同的进程 ID)当然不可能打开通道。但是是否可以 "Join" 或 "Merge" 到现有频道?
如何使用 TcpChannel 监听同一个端口
这是我注册频道的方法
mChannel = new TcpChannel(8500);
ChannelServices.RegisterChannel(mChannel, false);
mi_Transfer = new Remote.cTransfer();
mService = RemotingServices.Marshal(mi_Transfer, "GenerateBarcode");
根据评论,我建议创建一个 Windows 服务(在 .NET 中,一个 class 扩展 System.ServiceProcess.ServiceBase
),并让该服务托管 TcpChannel
在端口 8500 上。然后,让启动的应用程序的每个实例使用动态端口并向服务注册,向其提供启动应用程序的用户的用户名。然后,该服务可以使用用户名将它在端口 8500 上收到的请求路由到动态端口上应用程序的适当实例。