请教一个在IIS7中寄宿基于net.ipv4.tcp memtcp绑定的WCF服务的问题

我的WCF开发框架简化版及基于NET.TCP传输方式的实现
前面介绍很多关于我的WCF开发框架的文章,前面的介绍思路,主要是基于一个整个仓库管理系统来进行整体介绍的,本来另辟蹊径,着重介绍一个备件信息的表的在我的WCF开发框架中,各层是如何体现的,通过简单的一个表的操作,走完一个WCF开发过程,着重介绍一个对象类,如何实现整个wcf的应用。另外穿插介绍如何基于net.tcp传输方式实现wcf的应用,以及使用这种方式需要注重的地方等功能模块的介绍。
我们先来看看我的WCF开发框架整体架构设计图。
上图中,值得注意的是,WCF服务层,可以Host(寄宿)在IIS中,也可以Host在Console控制台应用程序中,或者Windows服务中等方式。
WCF 代理层一般通过在程序中添加服务引用的方式添加,添加成功后会自动生成WCF客户端的代理层,类似于添加WebService的方式。
UI可以是Winform的实现、也可以是Web的方式实现,甚至还可以是其他方式的UI实现。由于我前面介绍的WCF开发框架中,主要以Winform方式来体现,本文就另外使用asp.net的Web方式来简单介绍使用WCF服务的例子,通过简单的调用使用,我们更加清晰其调用逻辑,更好的串联起来整个WCF开发框架的实现思路。
1、 WCF服务开发
首先我们来了解一个WCF服务的开发,需要实现那些东西。从下图可以看到,需要独立一个实体类层,因为实体类是需要很多地方引用的,独立又很多好处。
其次就是业务层,它需要把我们的业务逻辑+数据访问层(可以实现多种数据库的操作)放到一起,这样作为一个整体的项目工程,更加方便管理。
创建一个WCF服务工程,添加一些必要的接口层以及配置信息,就可以实现了。具体的操作过程,可以参考《》这篇文章的介绍。
其中WCF服务层的开发就差不多定型了,您需要做的就是完善整个业务逻辑以及服务的调用(调用业务逻辑相关信息),如果你是使用我的WCF开发框架,所有基类的东西(包括业务层各种基类,WCF服务层的基类接口及服务基类)都是可以不用操心的,只需要实现自己的业务逻辑即可。
2、WCF服务发布及调用
通过以上的步骤1创建了WCF服务后,接下来就是如何Host我们创建的WCF服务并在客户进行调用了。WCF服务一般建议通过IIS的Host方式,这样方便管理也方便操作。如果您发布的WCF服务是net.tcp的传输方式,而且你的IIS是XP或者Win2003的,那么只能通过控制台的Host方式进发布服务了。因为Net.tcp的寄宿方式是需要IIS7以上的版本才可以。
控制台的Host方式也很简单,通过应用步骤1的WCF服务项目,然后再Program.cs类中实现下面的代码即可。
void Main(
[] args) {
{ ServiceHost serviceHost =
new ServiceHost(
(ItemDetailService)); serviceHost.Open(); Console.WriteLine(
服务正在进行侦听......
); Console.ReadLine(); }
(Exception ex) { Console.WriteLine(ex); Console.ReadLine(); } }
运行后,效果如下所示,就表示WCF顺利通过控制台Host成功了。
WCF客户端(本例为asp.net例子)的调用代码如下所示.
TestNetTcpApp{
_Default : System.Web.UI.Page {
void Page_Load(
sender, EventArgs e) {
.IsPostBack) { BindData(); } }
BindData() { ItemDetailServiceClient client =
ItemDetailServiceClient(); DataTable dt = client.FindToDataTable(
string.Format(
ItemName like '%六角螺栓%' or ItemName like '%轴承%'
) { dt.Columns.Add(
foreach (DataRow dr
dt.Rows) { dr[
this.dg.DataSource =
.dg.DataBind();
new ItemDetailServiceClient().Using(client =&
this.dg.DataSource = client.Find(string.Format(&ItemName like '%六角螺栓%'&));
this.dg.DataBind();
以上是简单的数据绑定例子,唯一值得注意的就是,本例因为考虑通过net.tcp的方式进行数据传输(也就是网络式局域网内的),因此在调用的页面,将会显示上千条的数据进行测试。如下界面所示。
3、配置信息要求。
&一般的WCF服务,服务的Web.Config和调用客户的配置文件,都要对服务的相关参数进行配置,否则,很容易出现各种各种的错误提示,有响应超时、数据字节数超过支持数量、或者集合列表数据量大于设定值等等相关的错误。
1)数据量大或者集合大的配置
对于集合数据比较大,或者数量比较多的时候,如上传的图片字节比较大、返回的列表集合比较大等情况,会出现调用错误,其实这些都是因为配置参数的问题,修改即可避免,但是如果开始就知道避免,会减少反复调试的时间,提高开发效率。
2)Net.tcp的参数配置
这种方式一般是考虑在内外(局域网内)的服务调用考虑,这个调用响应会比较快,但是和传统的http配置方式有所差别,下面介绍他们的配置内容。
&原文链接:下次自动登录
现在的位置:
& 综合 & 正文
WCF面向服务应用程序系列之十五:托管(Hosting)-WAS托管
WAS托管:Windows激活服务(WAS)是一个系统服务,是IIS7的一部分,也可以独立的安装与配置。IIS与WAS的主要区别在于WAS并不局限使用HTTP,它支持所有可用的WCF传输协议、端口与队列,支持的协议包括:HTTP、TCP、IPC、MSMQ。
WAS提供了大量基于自托管的强大功能,包括应用池、回收机制、空闲时间管理(Idle Time Mannagement)、身份管理(Identity Management) 以及隔离(Isolation);宿主进程可以根据情况选择使用这些功能。
下面我们通过一个DEMO来介绍WAS托管(net.tcp绑定)。
开发环境:Visual Studio 2010 + Net Framework 4.0
运行环境:Windows Server 2008 R2 + IIS7 + WAS
1、创建一个WCf Service Library,主要如下:
//接口代码
[ServiceContract(Namespace = "/demos/WASHost")]public interface IWASHostService
[OperationContract]string HelloWCF(string str);
}//实现类代码
public class WASHostService : IWASHostService
{public string HelloWCF(string str)
{return string.Format("Get message from client is : {0}", str);
2、创建一个ASP.NET空白网站,添加Service Library引用,并添加服务文件文件[WASHostService.svc],代码如下:
&%@ ServiceHost Language="C#" Debug="true" Service="ServiceLibrary.WASHostService" %&
3、添加Web.config文件如下:
&?xml version="1.0"?&&configuration&&system.web&&compilation debug="true" targetFramework="4.0" /&&/system.web&&system.serviceModel&&services&&service name="ServiceLibrary.WASHostService" behaviorConfiguration="MetaDataBehavior"&&endpoint address="" binding="netTcpBinding" contract="ServiceLibrary.IWASHostService"
bindingConfiguration="myNetTcp" /&&endpoint address="mex" binding="netTcpBinding" contract="IMetadataExchange"
bindingConfiguration="mexTcp" /&&/service&&/services&&bindings&&netTcpBinding&
&binding name="myNetTcp" portSharingEnabled="true"&
&/binding&
&binding name="mexTcp" portSharingEnabled="true"&
&security mode="None" /&
&/binding&
&/netTcpBinding&&/bindings&&behaviors&&serviceBehaviors&&behavior name="MetaDataBehavior"&
&serviceMetadata httpGetEnabled="true" /&&serviceDebug includeExceptionDetailInFaults="false" /&&/behavior&&/serviceBehaviors&&/behaviors&&serviceHostingEnvironment multipleSiteBindingsEnabled="true" /&&/system.serviceModel&&/configuration&
4、编译网站,success,然后在命令行输入:inetmgr,打开IIS管理器,在Default Web Site中添加应用程序:WASHostService,目录指刚才创建的WebSite,并且指定应用程序池,至此,网站配置基本结束,然而我们尚未配置WAS。
5、安装WAS与WCF激活【HTTP激活和非HTTP激活】:打开服务管理器-&添加功能-&选择.NET FrameWork 3.5.1和Windows 进程激活服务,如下图:
然后点击下一步,然后安装。因我已经安装,所以您看到的界面是已经安装的界面,所以下一步和安装按钮不可用。
6、在安装完成后,我们可以在服务里面看到NetTcpActivator、NetPipeActivator、NetTcpPortSharing和WAS服务已经启动,如下图:
7、至此,WAS与WCF激活【HTTP激活和非HTTP激活】安装完毕并且成功,下面我们将看到在Default Web Site中会自动绑定多个协议,命令行输入inetmgr,打开IIS管理器,右键点击Drfaul Web Site,点击绑定,如下图:
如果点击绑定后没有看到net.tcp等非http协议,则可以通过点击右面的添加来添加非http协议绑定,如下图:
以上为添加非http绑定,除此还需要进行启动net.tcp绑定:点击WASHostService-&管理应用程序-&高级设置,启动net.tcp绑定,如下图:
除了通过IIS管理器添加非http绑定,还可以通过命令行的方式添加非http绑定。
8、命令行添加绑定:在命令行输入cmd 进入到:C:\Windows\System32\inetsrv&目录,然后输入appcmd,系统会给出appcmd的帮助信息,然后输入appcmd list site。
8.1、设置端点tcp绑定,输入:appcmd set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']。
8.2、启用tcp绑定,输入appcmd list app,根据列出的应用程序,再输入:appcmd set app "Default Web Site/WASHostService" /enabledProtocols:http,net.tcp。
命令行添加绑定过程如下:
Microsoft Windows [版本 6.1.7600]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator&cd\C:\&cd windowsC:\Windows&cd system32C:\Windows\System32&cd inetsrvC:\Windows\System32\inetsrv&appcmd通用 IIS 命令行管理工具。APPCMD (命令) (对象类型) &标识符& &/参数1:值1 ...&支持的对象类型:
虚拟站点的管理
管理应用程序
管理虚拟目录
管理应用程序池
管理常规配置节
管理工作进程
管理 HTTP 请求
管理服务器模块
管理服务器配置备份
使用失败请求跟踪日志(要列出每个对象支持的命令,请使用 /?,例如“appcmd.exe site /?”)常用参数:/?
显示上下文相关帮助消息。/text&:value&
以文本格式(默认)生成输出。/text:* 在详细信息视图中显示所有对象属性。/text:&attribute& 显示每个对象的
指定特性的值。/xml
以 XML 格式生成输出。
使用此参数生成的输出可发送至
以 /in 模式运行的其他命令。/in or -
自标准输入读取和操作 XML 输入。
使用此参数可操作运行于 /xml 模式的
其他命令生成的输入。/config&:*&
显示所显示对象的配置。/config:* 还包括继承的配置。/metadata
在显示配置时显示配置元数据。/commit
设置用于保存配置更改的配置路径。
可以指定具体的配置路径、“site”、
“app”、“parent”或“url”以保存到该命令正在编辑的
路径的适当部分,也可以设置为对应的配置级别
的“apphost”、“webroot”或“machine”。/debug
显示命令执行的调试信息。-使用“!”以转义与常用参数同名的参数,例如“/!debug:value”设置一个名为“debug”的配置属性。C:\Windows\System32\inetsrv&appcmd list siteSITE "demo" (id:2,bindings:http/*:80:,state:Started)SITE "HelloWCF" (id:3,bindings:http/*:80:,state:Started)SITE "Default Web Site" (id:1,bindings:http/*:80:,net.tcp/808:*,net.pipe/*,net.msmq/localhost,msmq.formatname/localhost,state:Started)C:\Windows\System32\inetsrv&appcmd list appAPP "demo/" (applicationPool:Demo)APP "HelloWCF/" (applicationPool:HelloWCF)APP "Default Web Site/" (applicationPool:Default Web Site)APP "Default Web Site/MSMQ" (applicationPool:Default Web Site)APP "Default Web Site/WASHostService" (applicationPool:Default Web Site)
9、至此WAS托管服务端设置完毕,我们通过在浏览器中打开.svc文件测试元数据是否可见,输入:
(www.washost .com 在host文件中添加项:127.0.0.1 )可以看到如下信息:
此元数据只所以可见,是因为我在配置文件中设置了【&serviceMetadata httpGetEnabled="true" /&】和【&endpoint address="mex" binding="netTcpBinding" contract="IMetadataExchange" bindingConfiguration="mexTcp" /&】,请参考第三步的配置文件。
10、创建Client项目,添加Service引用,如下图:
完成后,在Program类中添加代码,主要代码如下:
class Program
{static void Main(string[] args)
{using (Server.WASHostServiceClient client = new Server.WASHostServiceClient())
Console.WriteLine("--------WAS NET.TCP BEGIN--------");
Console.WriteLine(client.HelloWCF("Hello WCF"));
Console.WriteLine("--------WAS NET.TCP
END--------");
Console.ReadLine();
Console.ReadLine();
此时,我们可以看到Client项目中,系统自动生成了一个app.config文件,主要代码如下:
&?xml version="1.0" encoding="utf-8" ?&&configuration&&system.serviceModel&&bindings&&netTcpBinding&&binding name="NetTcpBinding_IWASHostService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"
maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
maxReceivedMessageSize="65536"&&readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" /&&reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" /&&security mode="Transport"&&transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" /&&message clientCredentialType="Windows" /&&/security&&/binding&&/netTcpBinding&&/bindings&&client&&endpoint address="net.tcp://cs/WASHostService/WASHostService.svc"
binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IWASHostService"
contract="Server.IWASHostService" name="NetTcpBinding_IWASHostService"&&identity&&servicePrincipalName value="host/CS" /&&/identity&&/endpoint&&/client&&/system.serviceModel&&/configuration&
11、运行客户端,输入如下图:
12、如果在调用服务的过程中出现Error:
An unhandled exception of type 'System.ServiceModel.EndpointNotFoundException' occurred in mscorlib.dllAdditional information: The message could not be dispatched because the service at the endpoint address 'net.tcp://cs/WASHostService/WASHostService.svc' is unavailable for the protocol of the address.
则请通过重新安装ServiceModel解决:【C:\Windows\Microsoft.NET\Framework64\v4.0.30319&ServiceModelReg.exe -r】,个人理解是ServiceModel安装的版本的问题,如下:
C:\Users\Administrator&cd\C:\&cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319C:\Windows\Microsoft.NET\Framework64\v4.0.30319&ServiceModelReg -rMicrosoft (R) WCF/WF registration tool version 4.0.0.0Copyright (c) Microsoft Corporation.
All rights reserved.Administration utility that manages the installation and uninstallation ofWCF and WF components on a single machine.[SC] ChangeServiceConfig2 成功[SC] ChangeServiceConfig2 成功[SC] ChangeServiceConfig2 成功[SC] ChangeServiceConfig2 成功[SC] ChangeServiceConfig2 成功[SC] ChangeServiceConfig2 成功[SC] ChangeServiceConfig2 成功[SC] ChangeServiceConfig2 成功[Warning]The HTTP namespace reservation already exists.
如有其它问题,则请通过【telnet ip 端口号】看服务端是否开启此端口。
至此,托管(Hosting)-WAS托管(net.tcp)介绍完毕。
作者:心海巨澜出处:版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在页面明显位置给出原文连接,否则保留追究法律责任的权利。
&&&&推荐文章:
【上篇】【下篇】Silverlight4配合WCF 兑现在线聊天初探心得_读书人
Silverlight4配合WCF 兑现在线聊天初探心得
&来源:读书人网&【读书人网():综合教育门户网站】
Silverlight4配合WCF 实现在线聊天初探心得一、为什么要使用 net.tcp 绑定为了更好地实现双向通信,.NET Fra
Silverlight4配合WCF 实现在线聊天初探心得 一、为什么要使用 net.tcp 绑定为了更好地实现双向通信,.NET Framework在 3.0的时候引入了一个全新的通信协议Net.TCP并作为WCF的一部分。现在Net.TCP将包含在Silverlight 4中,相比于HTTP Polling Duplex,它极大地改进了吞吐量和连接的数量。我们可以通过Silverlight 4绑定到HTTP Duplex Services上,因而应用可以不断轮询服务以进行更新,这模拟了双向通讯的工作方式。Silverlight 4则引入了一个更好的解决方案:Net.TCP Port Sharing Service。与HTTP不同,Net.TCP提供了本地的双向通信机制,极大地改进了应用的性能。打开的端口可以由多个应用共享,然而Silverlight只能访问介于范围之间的端口。根据微软WCF开发经理Tomasz Janczuk所述,相对于HTTP Duplex来说,Net.TCP在如下方面进行了重大的改进:&&& * 吞吐量:对于UI线程来说提升了5.5倍,对于worker线程来说提升了870倍。&&& * 最大的客户端数量:服务器可支持的连接客户端数量是之前的5-6倍。该协议适用于对通信速度要求很高的Silverlight应用。但其一个严重缺陷是所使用的一系列端口通常会被防火墙阻止,因此它不适合于公网、外部应用,而适合于局域网。另一个问题是它不支持SSL,这样就会遇到安全问题,Janczuk说将在未来解决该问题 NetTcpBinding 使用 TCP 完成传输,使用二进制进行消息编码,为消息版本使用 SOAP 1.2。该绑定默认启用传输安全并可支持事务(如果启用了事务)。您可以看出,此绑定配置的重点是创建一个在 Windows 环境中性能较好的信道堆栈,为您提供替换各种 COM+ 和 .NET 远程的极好选择。net.tcp 绑定的主要好处是性能。如果在您的安全的 intranet 环境中的 WCF 服务要快速的 Silverlight 应用程序进行通信可以使用此绑定。现在此 net.tcp 绑定的目的,是要在 intranet 环境中使用。因为此协议是 Silverlight Socket 实现的基础上生成的同一网络安全限制的约束。Silverlight Socket TCP的限制端口范围是 4502 C 4534 。因此,它要求在我们可以控制防火墙配置环境。以这种方式我们可以轻松地监视 Silverlight 应用程序通信和维护企业网络的安全性。Net.tcp 协议在 Silverlight 中的也不支持传输层安全性。为例,我们不能有 SSL 通信。Net.tcp 双功能支持 net.tcp 绑定的另一个重要好处是,支持双工通信。现在我们可以使用同一个 HTTP 投票从以前版本的 Silverlight 双工代理,并只需指定该代理将使用 net.tcp 绑定,一切都将工作。我们可以使 WCF 服务使用 HTTP Internet 客户端轮询双工的协议,并为内网客户端使用 net.tcp 协议。编程模型是和以前一样的,使用方法很简单。二、WCF服务寄宿方式WCF服务寄宿方式:通过自我寄宿的方式寄宿服务和通过IIS寄宿服务服务寄宿的目的就是开启一个进程,为WCF服务提供一个运行的环境。通过为服务添加一个或多个终结点,使之暴露给潜给的服务消费者。服务消费者最终通过相匹配的终结点对该服务进行调用。WCF服务需要依存一个运行着的进程(宿主),服务寄宿就是为服务指定一个宿主的过程。WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段。终结点由地址(Address)、绑定(Binding)和契约(Contract)三要素组成。地址(Address):地址决定了服务的位置,解决了服务寻址的问题;绑定(Binding):绑定实现了通信的所有细节,包括网络传输、消息编码,以及其他为实现某种功能(比如安全、可靠传输、事务等)对消息进行的相应处理。WCF中具有一系列的系统定义绑定,比如BasicHttpBinding、WsHttpBinding、NetTcpBinding等;契约(Contract):契约是对服务操作的抽象,也是对消息交换模式以及消息结构的定义。可以通过代码的方式完成服务的寄宿,也可以通过配置文件完成服务的寄宿,但在进行真正的WCF应用开发时,一般不会直接通过编码的方式进行终结点的添加和服务行为的定义,而是通过配置的方式进行,配置文件的编写可以直接使用VS提供的配置工具。你可以通过VS的工具(Tools)菜单,选择“WCF Service Configuration Editor”子项,开启这样的一个配置编辑器,具体的使用方法请查阅MSDN。三、寄宿于IIS的基于net.tcp绑定的WCF的服务部署方式1.为WCF服务创建.svc文件基于IIS的服务寄宿要求相应的WCF服务具有相应的.svc文件,.svc文件部署于IIS站点中,对WCF服务的调用体现在对.svc文件的访问上。.svc文件的内容很简单,仅仅包含一个ServiceHost指令(Directive),该指令具有一个必须的Service属性和一些可选的属性。所以最简单的.svc仅仅具有一个包含Service属性(该属性指明了相应的WCF服务的有效类型)的ServiceHost指令。2.为WCF服务创建虚拟目录在IIS7中,网站本身不能用于host 使用netTcp协议的WCF服务。如果要hostWCF服务,则必须用网站下挂的应用程序,并且给应用程序注册支持netTcp协议。注册协议时,netTcp用的哪个端口譬如net.tcp 4502:* 那么调用该端口的客户端web.config中的endpoint address=“net.tcp://machineName:4502/xxxService/xxx.svc”只 IIS7 有为 net.tcp 绑定支持,所以您必须具有 IIS7,您的上安装了。对 Windows 进程激活服务 (WAS) 承载 WCF 服务与内部 IIS7 net.tcp 绑定。若要启用 WAS 上承载 IIS7 的 net.tcp 你必须做几件事:1) 您必须启用 Windows Communication Foundation 的 HTTP 激活功能。IIS 的一个重要功能是能够在收到该应用程序的 HTTP 请求的激活一个 web 应用程序。一个类似的功能存在 IIS7 的 net.tcp,但它不可能在默认情况下启用。 (控制面板-程序-打开或关闭Windows应用程序-勾选Microsoft.Net Frameworks 3.0/3.1下的所有选项)2) 您必须设置应用程序使用已启用的.net 4.0 框架,并且必须启用 net.tcp 协议。(网站对应的应用池中设置框架为.NET4.0,网站高级属性中启用协议加上”,net.tcp”,注意网站和应用程序都要启用net.tcp协议)3) 您还必须使用端口的 net.tcp 绑定 4502 C 4534 范围内。 选中网站,点击最右边操作区的绑定,添加网站绑定,选中net.tcp然后再绑定信息中输入形如:4502:*注意几个问题:1)在非IIS host的程序中,因为有个问题,WCF的bug貌似(Artech在他的博客中谈到这个问题:WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效),所以在服务的endpoint 中我们这么写:&endpoint address=”net.tcp://localhost/MyService” binding=”netTcpBinding” contract=”MyService.IMyService” /&但是,在IIS中BaseAddress是无效的,IIS自动加了应用程序站点名称作为前缀,即:”net.tcp://localhost/MyService”,所以我们在IIS host的WCF服务里的配置文件的endpoint address中再写一遍地址就重复了,导致服务无法正确读取。IIS host的WCF 服务正确的endpoint的配置写法是:&endpoint address=”" binding=”netTcpBinding” contract=”MyService.IMyService” /&2)silverlight客户端添加服务引用的时候,点击发现,查找到的是http开头的URI而不是以net.tcp开头的URI,因为服务的元数据是通过http协议传输的,添加服务后查看到你服务的配置文件上的client中的endpoint链接是形如这样的:net.tcp://shirlly-pc:4502/MyWebChat.Web/DuplexService.svc3)如果进行了如上的配置,还是找不到服务,那有可能是跨域权限的问题,你要在部署站点的根目录下添加一个策略文件,注意是放在根目录的下面而不是放在应用程序下面(貌似这个策略文件只能放到WWWROOT下面才起作用)总结配置wcf的步骤一系统环境准备:1、必须是IIS72、在windows添加删除程序中启用 Windows Communication Foundation二、部署配置:1、只要在wwwroot放置一个策略文件即可,不需要在站点上方策略文件2、将服务寄宿到IIS上的一个站点上可以单独建一个站点,也可以寄宿到默认站点3、修改站点的应用池的.netFramework版本为v4.04、在寄宿的站点上将服务添加为站点的应用程序5、分别在站点和应用程序的高级配置里加上协议net.tcp6、在站点上添加net.tcp 主机为4502:*的绑定重启IIS推荐WCF学习的文章:/artech/archive//893838.html/chocstarfish/archive//1765568.html(demo有点小bug后面会把修复后的Demo上传)}

我要回帖

更多关于 net.tcp绑定 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信