博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
启用WCF NetTcpBinding的共享端口
阅读量:7143 次
发布时间:2019-06-29

本文共 957 字,大约阅读时间需要 3 分钟。

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

 

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

启用 
NET.TCP Port 共享服务(默认是禁用的) WCF 服务采用TCP 协议 设置 
PortSharingEnabled 属性为 
true

第一步. 启用 NET.TCP 端口共享服务

通过“开始”-〉“控制面板”-〉“管理工具”-〉服务,打开如下图所示的“服务对话框”,然后定位到Net.TCP Port Sharing Service。

第二步:在WCF服务中使用TCP 协议

在基于TCP的WCF通信中,我们使用NetTcpBinding处理通信的所有细节,这些细节中也包括端口的共享。

第三步:设置 PortSharingEnabled 属性为 true

在NetTcpBinding中,定义了一个特殊的属性,PortSharingEnabled,表明是否启动端口共享机制。

你可以通过通过配置的方式来指定NetTcpBinding的PortSharingEnabled属性:

<bindings> 

   <netTcpBinding> 
      <binding name="PortBinding" portSharingEnabled="true" />
   </netTcpBinding>
</bindings>

也可以通过代码方式配置绑定启用

NetTcpBinding binding = new NetTcpBinding();

binding.PortSharingEnabled = true;

该绑定隐式允许外部进程(即承载 Net.TCP 端口共享服务的 SMSvcHost.exe)代表它来管理 TCP 套接字。更详细的信息请参见。

本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

转载地址:http://cdzgl.baihongyu.com/

你可能感兴趣的文章
linux与win下安装java linux下的安装方法
查看>>
在IIS8添加WCF服务支持
查看>>
(转)代码执行的效率
查看>>
第一天用MongoDB
查看>>
Linux服务器部署系列之二—MySQL篇
查看>>
STM32笔记记录3
查看>>
typedef关键字
查看>>
EntityType 'UserInfo' has no key defined. Define the key for this EntityType.
查看>>
Merge PDF File using itextsharp library
查看>>
使用微软的TFS云服务
查看>>
高效能TCP通讯基础组件Beetle.Express
查看>>
MyEclipse内存不足配置
查看>>
四舍五入网络Java保留两位小数
查看>>
MFC 循环界面假死的解决(MFC 按钮终止循环)
查看>>
详细解说九宫图比较常用的多控件布局
查看>>
程序员的出路在哪里?挣钱的机会来了续-福利来了,仿QQ界面,放出全部源码,打造创业框架及实现思路...
查看>>
浅析Android线程模型一 --- 转
查看>>
Cocos2d-x PluginX (二)增加新的Plugin
查看>>
python-django开发学习笔记四
查看>>
cocos2d-x开发记录:二,基本概念(导演,场景,层和精灵,场景切换,效果)...
查看>>