WCF共享端口正确开启方法介绍

来源:互联网 发布:免费gis软件 编辑:程序博客网 时间:2024/04/28 10:23

原文: 点击打开链接


在WCF中,其端口的应用是一个非常重要的应用技术。在这里我们会通过对WCF共享端口的相关内容介绍,为大家详细讲解一下这方面的一些应用技巧,以方便初学者在实际应用中能获得一些帮助。

  • WCF体系结构详细内容剖析
  • WCF Endpoint作用体现
  • WCF X.509证书验证提高安全级别
  • WCF服务基本概念详解
  • WCF并发能力提高技巧分享

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

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

启用 NET.TCP Port 共享服务(默认是禁用的)

WCF 服务采用TCP 协议

设置 PortSharingEnabled 属性为 true

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

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

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

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

第三步:设置 PortSharingEnabled 属性为 true

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

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

  1. < bindings>   
  2. < netTcpBinding>   
  3. < binding name="PortBinding" portSharingEnabled="true" /> 
  4. < /netTcpBinding> 
  5. < /bindings> 

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

  1. NetTcpBinding binding = new NetTcpBinding();  
  2. binding.PortSharingEnabled = true;  

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


0 0
原创粉丝点击