[WCF实践]1.WCF使用net.tcp寄宿到IIS中

一、IIS部分

环境:Windows Server 2008 R2

1.安装WAS,如下图所示:

2.网站net.tcp协议绑定,如下图所示:

3.网站启用net.tcp,如下图所示:

二、WCF代码部分

1.DesignCaseService.svc

  1. <%@ServiceHostLanguage="C#"Debug="true"Service="Web.API.Implementations.DesignCaseService"%>

2.web.config配置示例:

<system.serviceModel>
    <services>
      <service name="Web.API.Implementations.DesignCaseService" >
        <endpoint binding="netTcpBinding" address="" contract="Web.API.Interfaces.IDesignCaseService" />
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost/DesignCaseService"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <bindings>
      <netTcpBinding>
        <binding portSharingEnabled="true"></binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- 非常重要 -->
          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->
          <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false"/>
          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

3.发布服务,框中非常重要,一定要是net.tcp

4.测试服务

三、错误集锦

1.找不到具有绑定 NetTcpBinding 的终结点的与方案 net.tcp 匹配的基址。注册的基址方案是 [http]。

产生原因:网站没有配置net.tcp协议,网站默认只有http协议

解决方案:按照第一部分,配置net.tcp协议

疑问:网站正确配置了net.tcp协议,还报这个错误?

可能原因:端口不对,比如在IIS中配置的net.tcp协议的端口1000,可能在Visul Studio中 右键打开svc文件,会分配另外一个端口,比如2000,这就可能产生这个问题

解决方案:在IIS中打开svc文件

2.已尝试创建到达不支持.Net框架的服务的通道,可能遇到HTTP终结点。需要记录类型"PreambleAck",找到"72"

产生原因:

<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>   

当在默认配置中启用http的元数据时,在发布服务页面会出现以http协议的元数据链接,如下图所示:

我们使用的是net.tcp协议,而在这里显示的却是http协议

解决方案:

<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false"/> 

参考资料:http://www.cnblogs.com/Gyoung/archive/2012/12/11/2812555.html

来自为知笔记(Wiz)

[WCF实践]1.WCF使用net.tcp寄宿到IIS中

时间: 2024-11-02 00:55:12

[WCF实践]1.WCF使用net.tcp寄宿到IIS中的相关文章

WCF使用net.tcp寄宿到IIS中(转)

一.IIS部分 环境:Windows Server 2008 R2 1.安装WAS,如下图所示: 2.网站net.tcp协议绑定,如下图所示: 3.网站启用net.tcp,如下图所示: 二.WCF代码部分 1.DesignCaseService.svc <%@ServiceHostLanguage="C#"Debug="true"Service="Web.API.Implementations.DesignCaseService"%>

WCF分布式4:客户端访问寄宿在IIS中的WCF服务

部署过程比较简单,新建一个站点,指向服务的物理路径,设置一个端口.即可. 新建的站点对应一个应用程序池,设置应用程序池中的.NET版本为4.0 写一个测试客户端,访问IIS中的WCF服务,可能会出现, Method Not Found 解决措施 第一步,上图中的 windows Communication Foundation HTTP Activation 打上勾 第二步,如果出现 未能从程序集"System.ServiceModel, Version=3.0.0.0, Culture=neu

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

本文转自:http://www.cnblogs.com/Gyoung/archive/2012/12/11/2812555.html 1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协议的服务,为了让IIS支持net.tcp,必须先安装WAS(Windows Process Activation Service),即windows进程激活服务. 打开控制面板--程序和功能--打开或关闭windows功能,安装WAS,如图: 安装完毕后在Services窗口中可以到到如下服务:Wi

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

来源:http://www.cnblogs.com/Gyoung/archive/2012/12/11/2812555.html 1.安装系统功能: 2.在IIS中添加net.tcp协议绑定: 在网站上设置绑定.注:绑定信息是net.tcp的端口号 在网站中的WCF应用程序上设置协议. 3.然后就可以用了. WCF:如何将net.tcp协议寄宿到IIS

老老实实学WCF[第三篇] 在IIS中寄宿服务

老老实实学WCF 第三篇 在IIS中寄宿服务 通过前两篇的学习,我们了解了如何搭建一个最简单的WCF通信模型,包括定义和实现服务协定.配置服务.寄宿服务.通过添加服务引用的方式配置客户端并访问服务.我们对WCF的编程生命周期有了一个最基本的了解. 在前两篇中演示的例子,一定要力求背着做下来,包括源程序.配置文件都要背着一行行的手写下来,这样才能有深刻的体会.WCF的知识零散复杂,必须扎扎实实的学习和练习.如果你还没有做到了然于胸,现在赶紧翻回去把例子再做一遍. 今天让我们稍微深入一点,了解一些关

WCF绑定netTcpBinding寄宿到IIS

继续沿用上一篇随笔中WCF服务类库 Wettery.WcfContract.Services WCF绑定netTcpBinding寄宿到控制台应用程序 服务端 添加WCF服务应用程序 Wettery.WcfIISHost.Services,其中添加两个WCF服务,GameService.svc  PlayerService.svc,删掉契约接口和 .cs内嵌文件,只留下.svc文件 我们通过Autofac注入契约/服务的依赖关系,Nuget引用 Install-Package Autofac.W

创建WCF服务寄宿到IIS

一.WCF简介: Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台. 整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术. 由 .NET Framework 3.0 开始引入. WCF的最终目标是通过进程或不同的系统.通过本地网络或是通过Internet收发客户和服务之间的消息. WCF合并了Web

IIS 中托管基于TCP绑定的WCF服务

IIS 中托管基于TCP绑定的WCF服务 一.创建一个基于TCP绑定的WCF服务 1.创建一个的简单的服务具体代码如下 服务契约定义 namespace SimpleService { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IHelloService”. [ServiceContract] public interface IHelloService { [OperationContract] string GetMessage(string m

Windows 2008下在IIS中寄宿WCF MSMQ的方法

由于工作需要,最近几天在研究Windows 2008下如何在IIS中寄宿WCF MSMQ,中间遇到不少问题,现将操作方法整理一下,方便其他朋友参考. 一.编写服务端代码 在本例中,添加WCF服务MyGreeting.svc,服务端代码如下: 1.服务契约 1 using System.ServiceModel; 2 3 namespace IisMsmqServer 4 { 5 [ServiceContract] 6 public interface IMyGreeting 7 { 8 [Ope