前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >启用WCF NetTcpBinding的共享端口

启用WCF NetTcpBinding的共享端口

作者头像
张善友
发布2018-01-19 11:18:47
1.3K0
发布2018-01-19 11:18:47
举报
文章被收录于专栏:张善友的专栏

在一般的网络环境中,尽可能避免网络攻击,都会通过防火墙将绝大部分的端口封掉,仅仅保留那些常用的网络服务所用的端口,或者为某一个类应用保留少量的端口。IIS 使用HTTP.SYS实现了对80端口的共享使用,所以我们可以在IIS上部署多个应用程序。那么我们在主机上部署多个TCP的WCF服务,只有有限开放端口的时候怎么办呢,答案就是启用NET.TCP的端口共享服务。通过端口共享服务,WCF就可以使用同一个端口部署多个服务:

netport
netport

启用端口共享服务只需要三个步骤:

  • 启用 NET.TCP Port 共享服务(默认是禁用的)
  • WCF 服务采用TCP 协议
  • 设置 PortSharingEnabled 属性为 true 第一步. 启用 NET.TCP 端口共享服务 通过“开始”-〉“控制面板”-〉“管理工具”-〉服务,打开如下图所示的“服务对话框”,然后定位到Net.TCP Port Sharing Service。
netport1
netport1

第二步:在WCF服务中使用TCP 协议 在基于TCP的WCF通信中,我们使用NetTcpBinding处理通信的所有细节,这些细节中也包括端口的共享。 第三步:设置 PortSharingEnabled 属性为 true 在NetTcpBinding中,定义了一个特殊的属性,PortSharingEnabled,表明是否启动端口共享机制。 你可以通过通过配置的方式来指定NetTcpBinding的PortSharingEnabled属性:

代码语言:js
复制
 <bindings> 
    <netTcpBinding> 
       <binding name="PortBinding" portSharingEnabled="true" />
    </netTcpBinding>
 </bindings> 

也可以通过代码方式配置绑定启用 NetTcpBinding binding = new NetTcpBinding(); binding.PortSharingEnabled = true; 该绑定隐式允许外部进程(即承载 Net.TCP 端口共享服务的 SMSvcHost.exe)代表它来管理 TCP 套接字。更详细的信息请参见配置 Net.TCP 端口共享服务。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-11-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档