WCF服务启用与配置端口共享
在 Windows Communication Foundation (WCF) 应用程序中使用 net.tcp:// 端口共享的最简单方式是使用 NetTcpBinding 公开一个服务。
此绑定提供了一个 PortSharingEnabled 属性,该属性控制是否为配置了此绑定的服务启用 net.tcp:// 端口共享。
下面的过程演示如何使用 NetTcpBinding 类打开一个位于统一资源标识符 (URI) net.tcp://localhost/MyService 上的终结点(首先使用代码,然后使用配置元素)。
使用代码在 NetTcpBinding 上启用 net.tcp:// 端口共享
创建一个服务以实现一个名为 IMyService 的协定,并将该服务命名为 MyService。
[ServiceContract] interface IMyService { //Define the contract operations. } class MyService : IMyService { //Implement the IMyService operations. }创建 NetTcpBinding 类的一个实例,并将 PortSharingEnabled 属性设置为 true。
NetTcpBinding portsharingBinding = new NetTcpBinding(); portsharingBinding.PortSharingEnabled = true;
创建一个 ServiceHost,并在其中为 MyService 添加一个服务终结点,该终结点使用启用了端口共享的 NetTcpBinding 并在终结点地址 URI“net.tcp://localhost/MyService”上进行侦听。
ServiceHost host = new ServiceHost( typeof( MyService ) ); host.AddServiceEndpoint( typeof( IMyService ), portsharingBinding,"net.tcp://localhost/MyService" );
注意
此示例使用默认的 TCP 端口 808,因为终结点地址 URI 未指定其他端口号。由于在传输绑定上显式启用了端口共享,因此该服务可以与其他进程中的其他服务共享端口 808。如果不允许使用端口共享并且其他应用程序已在使用端口 808,则该服务在打开时会引发 AddressAlreadyInUseException。
使用配置在 NetTcpBinding 上启用 net.tcp:// 端口共享
下面的示例演示如何使用配置元素来启用端口共享以及添加服务终结点。
<system.serviceModel> <bindings> <netTcpBinding name="portSharingBinding" portSharingEnabled="true" /> </bindings> <services> <service name="MyService"> <endpoint address="net.tcp://localhost/MyService" binding="netTcpBinding" contract="IMyService" bindingConfiguration="portSharingBinding" /> </service> </services> </system.serviceModel>
如何:启用 Net.TCP 端口共享服务
Windows Communication Foundation (WCF) 使用一个名为 Net.TCP 端口共享服务的 Windows 服务,以方便在多个进程之间共享 TCP 端口。此服务作为 WCF 的一部分进行安装,但作为一项安全预防措施,默认情况下不会启用该服务,因此必须在首次使用它之前手动启用。本主题描述如何使用 Microsoft 管理控制台 (MMC) 管理单元配置 Net TCP 端口共享服务。
有关使用 net.tcp:// 端口共享的示例,请参见 Net.TCP 端口共享示例。
使用 MMC 启用 Net.TCP 端口共享服务
从“开始”菜单中,通过打开“命令提示符”窗口并键入 services.msc,或通过打开“运行”并在“打开”框中键入 services.msc,打开服务管理控制台。
在服务列表的“名称”列中,右击“Net.Tcp Port Sharing Service”,并从菜单中选择“属性”。
若要启用服务的手动启动功能,请在“属性”窗口中选择“常规”选项卡,并在“启动类型”框中选择“手动”,然后单击“应用”。
若要启动服务,请在“服务”状态区域中单击“启动”按钮。现在,服务状态区域应显示为“已启动”。
若要返回到服务列表,请单击“确定”并退出 MMC 控制台。
from : http://msdn.microsoft.com/zh-cn/library/ms731810(v=vs.110).aspx
WCF服务启用与配置端口共享的更多相关文章
- WCF分布式开发步步为赢(4):WCF服务可靠性传输配置与编程开发
今天继续WCF分布式开发步步为赢系列的第4节:WCF服务可靠性传输配置与编程开发.这个章节,我们要介绍什么是WCF服务的可靠性传输,随便介绍网络协议的概念,Web Service为什么不支持可靠性传出 ...
- wcf 服务创建,配置,测试
一.WCF创建: 常规的创建WCF服务是通过SOAP传输的,很多网站开发人员想放弃使用XML而使用JSON,这个时候可以参照:http://www.cnblogs.com/zhili/p/WCFRes ...
- WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发
今天我们继续WCF分布式开发步步为赢(3)WCF服务元数据交换.配置及编程开发的学习.经过前面两节的学习,我们了解WCF分布式开发的相关的基本的概念和自定义宿主托管服务的完整的开发和配置过程.今天我们 ...
- WCF服务调用超时错误:套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:05:30”(已解决)
问题: 线上正式环境调用WCF服务正常,但是每次使用本地测试环境调用WCF服务时长就是出现:套接字连接已中止.这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的.本地套接字超 ...
- 轻松搞定Win8 IIS支持SVC 从而实现IIS寄宿WCF服务
写在前面 为了尝试在IIS中寄宿WCF服务,需要配置IIS支持SVC命令,于是便有了在DOS命令中用到ServiceModelReg.exe注册svc命令. 坑爹的是注册成功后就开始报错.无奈之下两次 ...
- 客户端使用自定义代理类访问WCF服务 z
通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或 web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否 ...
- 编写寄宿于windows服务的WCF服务
由于业务中有些任务需要在后台静默长期运行,或者有些服务队响应的要求比较苛刻,这样的WCF服务就不适合寄宿于IIS中.IIS每隔一段时间w3wp进程会闲置超时,造成服务的运行停止,因此这种耗时或者定时任 ...
- WCF服务的建立以及调用
WCF对我来说既陌生又熟悉,陌生是因为没怎么接触过,熟悉是听得太多,今天抽出点时间看了一下WCF,并且自己也写了一WCF的小程序以及调用WCF.步骤为: 1.创建一个解决方案WCF,和一个控制台项目W ...
- 客户端使用自定义代理类访问WCF服务
通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否简 ...
随机推荐
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- i++、++i 、i--、--i
总结: i++ 先用后加, ++i先加后用: i--先用后减, --i先减后用: //int i = 1; //Console.WriteLine(i);//1 //Console.WriteLine ...
- jQuery radio的取值与赋值
取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...
- java I/O流
输入流(读取数据的流) BufferedInputStream---继承--->FileInputStream--继承--->InputStream------> (1)字节流操作中 ...
- ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)
主要更新: 1:增加子目录部署支持. 2:增加Taurus.MVC支持. 3:优化及Bug修复. 1:增加子目录部署支持: 其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Ar ...
- Demo源码放送:打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信.如 ...
- DoraCMS 源码知识点备注
项目需要研究了下DoraCMS这款开源CMS,真心做的不错:).用的框架是常用的express 4 + mongoose,代码也很规范,值得学习. 源码中一些涉及到的小知识点备注下: https:// ...
- .NET基础拾遗(7)Web Service的开发与应用基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- 微信小程序开发初探
一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所 ...
- 再见Windows C++
我3年多以前写过一个小工具,是用来检测Windows操作系统的版本及其所安装的.NET Framework版本的,我用它来排查由于缺乏运行环境支持所导致的程序无法运行的问题.这个工具是用Visual ...