当前位置:  开发笔记 > 运维 > 正文

如何找到.Net Remoting分配的端口号?

如何解决《如何找到.NetRemoting分配的端口号?》经验,为你挑选了1个好方法。

如果我使用端口0创建一个TcpChannel,即允许.Net Remoting分配一个可用端口,那么无论如何要确定哪个端口号已被分配?

我知道我可以在创建频道时指定端口号,但我不想这样做,因为我想在同一Citrix服务器上运行多个侦听应用程序实例 - 每个实例都在另一个端口上侦听.

理想情况下,我不希望不得不去保留一堆端口,然后跟踪已分配的端口.我只想让端口自动分配 - 但是我需要知道哪个端口号已被分配.



1> Marc Gravell..:

我不太了解这一点,但是在MSDN上浏览它说明零后使用返回a TcpServerChannel,并且a TcpServerChannel有一个GetChannelUri()方法; 那包括端口号吗?(您可能需要解析,通过new Uri(s).Port).

再次,完整的猜测工作.如果没有,只要说;-p

由AakashM编辑添加这是正确的方法.以下

var channel = new TcpChannel(0);

可以使用检索包含的服务器通道的动态分配的帖子

var channelData = (ChannelDataStore)channel.ChannelData;
var port = new System.Uri(channelData.ChannelUris[0]).Port;

丑陋的演员是必要的,因为该TcpChannel.ChannelData属性被打字为object......

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有