当前位置 > 首页 > Asp.net

WCF:如何将net.tcp协议寄宿到IIS

2012-12-11 12:27:00来源:Asp.net

1 部署IIS

1.1 安装WAS

IIS原本是不支持非HTTP协议的服务,为了让IIS支持net.tcp,必须先安装WAS(Windows Process Activation Service),即windows进程激活服务。

打开控制面板--程序和功能--打开或关闭windows功能,安装WAS,如图:

安装完毕后在Services窗口中可以到到如下服务:Windows Process Activation Service;Net.Msmq Listener Adapter;Net.Pipe Listener Adapter;Net.Tcp Listener Adapter;Net.Tcp Port Sharing Service.这几个服务。确定Net.Tcp Listener Adapter 与Net.Tcp Port Sharing Service是否已经启动。

1.2  确定WCF是否启用Non-Http支持

同样是在控件面板中打开这个功能,如图:

 

1.3 给站点添加net.tcp绑定

在IIS中,选中你的网站,然后在右边的操作菜单栏中单击绑定,会弹出一个“网站绑定”窗口,点击添加,类型选择net.tcp

1.4 启用net.tcp协议

 选择你的网站,点击“高级设置”,弹出的的窗体中,在“已启用的协议”一栏中手动添加:net.tcp

2 测试服务

 2.1 新建服务

用VS2010新建一个WCF服务,为了简单,我就直接用VS默认生成的作测试了。只有一个GetData方法

下面是配置的Config:

<?xml version="1.0"?>
<configuration>

<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>

<system.serviceModel>
<protocolMapping>
<add scheme="tcp" binding="netTcpBinding"/>
</protocolMapping>
<bindings>
<netTcpBinding>
<binding name="netTcpBindConfig" closeTimeout="00:30:00" portSharingEnabled="true"
openTimeout
="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00"
transactionFlow
="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode
="StrongWildcard" listenBacklog="10">

<readerQuotas maxDepth="2147483647"
maxStringContentLength
="2147483647"
maxArrayLength
="2147483647"
maxBytesPerRead
="2147483647"
maxNameTableCharCount
="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:01:00" enabled="false" />
<security mode="None">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"

  • iBatis.Net(4):DataMapper API

    2011-11-24 21:36:00

    在iBatis.Net中,可以通过SqlMapper实例访问DataMapper API,其实以前写的都是一些iBatis.Net的概念和一些配置的问题,从这一篇开始,才是真正的精髓,也是我们使用i

  • [译]分辨差别 -- 第一部分: 泛型不是模板

    2009-10-12 17:59:00

    译自Eric Lipperts Blog, 原文: http://blogs.msdn.com/ericlippert/archive/2009/07/30/generics-are-not-te

  • 您能写出一个正确的二分查找算法吗?

    2009-9-18 4:04:00

    摘要: 您能写出一个正确的二分查找算法吗?文末还有一个有趣的问题。 ---------------------------------------------------------------

  • Upload Manager 断点上传的工具

    2009-5-25 20:08:00

    Upload Manager 断点上传的工具 C#, vs2005 1: 多线程,断点上传 2: 简单下载功能 3: 支持和

  • [Flex]Flex SDK 4(Gumbo)改善的Layout和Scroller(二)

    2009-7-16 15:22:00

    摘要: 上一篇文章我们分析了Flex SDK 4(Gumbo)的布局功能,本篇文章是帮助大家理解Flex SDK 4(Gumbo)另外一个特性:可视区域(Scroller)可视区域(Scroller

  • 自定义“TB_定位访问”子类

    2009-4-17 8:22:00

    摘要: 自定义“TB_定位访问”子类 在很多应用中,经常需要通过某个“特征值”从给定的数据对象(前台的数据集或后台的物理表)中得到一条(或一组)满足

  • 【转】根据条件修改GridView命令按钮显示的文字

    2009-7-19 18:08:00

    在ESSP中,我想要实现学院负责人只能删除本学院自己负责的实验室信息,此时GridView只显示自己负责的实验室,后面显示删除按钮。但是当GridView数据源为全部的实验室信息的时候,删除按钮仍然

  • .NET Community Mexico City

    2011-4-25 12:33:00

    I will be participating as an invited speaker in “Comunidad.NET” in Mexico City next Tuesday (April

  • .net 里的“框架”和“设计模式”各有哪些?

    2012-6-21 9:34:00

    请资深人员,给我指导下。感觉越学越迷惑,比如三层架构他们说只是设计模式,不是框架,对嘛? 开心了就笑,不开心了就过会儿再笑

  • 一个类似于杨辉三角的数组算法思路

    2010-7-5 2:37:00

    作者: 邀月 发表于 2010-07-05 00:06 原文链接 阅读: 105 评论: 0 前日邀月碰到一个问题。输入一个int32类型参数n,n>1。按如下的例子控制台输出: