当前位置 > 首页 > Asp.net

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

12/11/2012 12:27:00 PM来源: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"

  • 7K,从何而来?

    8/27/2009 2:47:00 PM

    摘要: 今天我一直在想一个问题,他凭什么开口要7k?这个问题得追溯到昨天的面试了...我们的面试题也和网上常见的大同小异,对于.NET来说,每个公司都出那几个面试题毕竟是有它的道理的,比如抽象类与接

  • Fixing the ‘Telerik.WebControls.GridInsertionObject does not contain a property’ Error

    10/3/2009 1:06:00 AM

    I really like working with the Telerik ASP.NET AJAX controls. However, I keep forgetting about a

  • Källkoden till ASP.NET July 2007 Futures släppt

    4/8/2009 5:28:00 PM

    Microsoft har sl?ppt k?llkoden till ASP.NET July 2007 Futures . Medf?ljande delar: Bridge

  • jQuery简析

    5/28/2007 11:33:00 PM

    jQuery的开篇声明里有一段非常重要的话: jQuery是为了改变javascript的编码方式而设计的 . 从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库. j

  • 【原创】CTypedPtrList详细说明和具体用法

    4/12/2010 8:07:00 AM

    阅读: 0 评论: 0 作者: VCdog 发表于 2010-04-12 08:06 原文链接 CTypedPtrList类是个模板类,一般在软件开发中用到的时候比较多,它的作用就是类似一

  • 【自然框架】之通用权限(二):人员表组

    6/6/2009 4:43:00 PM

    摘要: 继续,这是第二章了。本来想在这一章里面介绍三个表组来着,但是我有点写不好的感觉,还是多分几章吧,这一章就只介绍人员表组。第二章到第五章主要是介绍表结构。我是习惯使用Excel来设计表,一开始

  • C# 3.0 的Lambda表达式(Lambda Expressions)

    6/12/2007 11:28:00 AM

    Lambda 表达式(拉姆达表达式) 和 匿名方法 其实是一件事情。唯一的不同是:他们语法表现形式不同。Lambda 表达式是在语法方面的更进一步的进化。在本质上,他们是一件事情。他们的作用都是:产

  • 旧版本浏览器中的jQuery删除操作

    4/5/2009 8:17:00 PM

    【原文地址】 jQuery Delete Link With Downlevel Support 【原文发表日期】 Jan 30, 2009 今天早些时候,我讨论了一下如果

  • 贝叶斯网络工具Hugin api的使用

    4/7/2009 12:57:00 PM

    摘要: 由于做毕设的需要,最近一直在研究Hugin Expert,一个关于贝叶斯网络的软件,今天有一些眉目,总结一下,方便自己也方便他人。 Hugin Expert是一款商业软件,提供c、c++、

  • 架构 - 又一个类似与“平台”一样的词汇

    12/10/2009 10:05:00 PM

    阅读: 0 评论: 0 作者: 快乐学习 发表于 2009-12-10 22:02 原文链接   有一阵子听到大家都在讲“平台”,但是不知道具体什么是平台,经过很多