我怎样才能得到一个WCF服务侦听的端口? [英] How can I get the port that a WCF service is listening on?

查看:194
本文介绍了我怎样才能得到一个WCF服务侦听的端口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个WCF的net.tcp服务,我想操作系统选择,它应该侦听的端口。所以,我在我的URI的端口设置为0,而的netstat 确认该操作系统已经回升在5000范围内的端口。



我如何才能找到已经被拾取,代码,服务过程里面实际的端口?



一些代码来说明我曾尝试:

 键入的serviceType = ...; 
URI地址=新的URI(的net.tcp://0.0.0.0:0 /服务/);
的ServiceHost的ServiceHost =新的ServiceHost(的serviceType,地址);
ServiceEndpoint终点= serviceHost.AddServiceEndpoint(类型,装订,);
INT端口1 = endPoint.ListenUri.Port; //返回0
INT端口2 = serviceHost.BaseAddresses.First()端口。 //也返回0


解决方案

不知道这会帮助,但有一个类似的问题已经在这样:
http://stackoverflow.com/questions/2207348/how-can-i-get-the-listening-address-port-of-a-wcf-service



一个提交的答案的相关部分,你可能也想尝试:

 的foreach(在serviceHost.ChannelDispatchers VAR channelDispatcher)
{
Console.WriteLine(channelDispatcher.Listener.Uri);
}



因此​​,也许你需要 channelDispatcher.Listener.Uri。端口



希望这有助于!


I have a net.tcp WCF service, and I would like the OS to pick the port that it should listen on. So I have set the port to 0 in my URI, and netstat confirms that the OS has picked a port in the 5000 range.

How can I find the actual port that has been picked, in code, inside the service process?

Some code to show what I have tried:

Type serviceType = ...;
Uri address = new Uri("net.tcp://0.0.0.0:0/Service/");
ServiceHost serviceHost = new ServiceHost(serviceType, address);
ServiceEndpoint endPoint = serviceHost.AddServiceEndpoint(type, binding, "");
int port1 = endPoint.ListenUri.Port; // returns 0
int port2 = serviceHost.BaseAddresses.First().Port; // also returns 0

解决方案

Not sure if this will help, but there's a similar question already on SO: http://stackoverflow.com/questions/2207348/how-can-i-get-the-listening-address-port-of-a-wcf-service

The relevant part of a submitted answer that you may want to try:

foreach (var channelDispatcher in serviceHost.ChannelDispatchers)
{
            Console.WriteLine(channelDispatcher.Listener.Uri);
}

So maybe you need channelDispatcher.Listener.Uri.Port.

Hope this helps!

这篇关于我怎样才能得到一个WCF服务侦听的端口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆