当前位置 > 首页 > 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"

  • 程序员最需要与公司实现真正的绑定

    2010-7-14 8:17:00

    作者: 返朴归 发表于 2010-07-14 00:17 原文链接 阅读: 282 评论: 3 我从事程序开发也有几年了,但是也是基于比较层面性或者说基础性的开发,对于技术部含量太高,

  • 微软一站式开发技术框架解决方案 年内展望

    2009-7-14 18:52:00

    微软一站式开发技术框架解决方案 (CodeFx) 自成立至今已有半年。在这半年里,我们完成了130个代码示例,主要覆盖了 COM、数据访问、库加载、进程间通信、Office开发、WinForms等

  • Silverlight实用窍门系列:37.Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)【附带实例源码】

    2011-4-14 11:04:00

    在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString。首先我们新建一个名为SLConnectASP.NET的Silverlight应

  • C# in few words Part 01

    2009-12-27 15:27:00

    Normal 0 false false false EN-US X-NONE AR-S

  • asp.net paypal信用卡支付功能

    2009-7-3 17:49:00

    前段时间有个客户网站需要用到信用卡支付功能,客户有个Website Payments Pro的帐号,第一次做这东西花了很多时间在上面,已做好运行了一段日子, 现在总结一下:

  • 博客园电子期刊2010年6月刊发布啦

    2010-7-8 8:07:00

    作者: 博客园团队 发表于 2010-07-07 10:12 原文链接 阅读: 1659 评论: 3 评论: 3  查看评论   发表评论 百度期待您的加盟 最新新闻: ·

  • C#加密解密

    2009-7-6 20:01:00

    //------------------------------------------------- // // DataBase.Recordset类 server-me 04/08

  • 使用 ADO.NET Entity Framework 进行增删改查时若干注意事项

    2011-6-8 23:59:00

    数据库中有如下两张表,一个文章分类表( ArtCategory ),一个文章表( Articles ),它们之间的关系是一对多。其中, ArtCategory 中的主键 AC_Id 是自动增长字段。

  • asp.net mvc(五)

    2009-8-12 18:36:00

    我们在创建一个Controller时都会默认遵守这样的规定,名称+“Controller”,但我们在页面访问这个Controller时并不会写上后面的Controller字符

  • .Net Winform开发笔记(一)

    2012-12-1 18:45:00

    1. 理解“Windows 窗体应用程序”项目中Program.cs文件中的main方法与传统C++Console控制台程序中的main方法的区别。 从程序运行层次上讲,两