星空网 > 软件开发 > ASP.net

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

 

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



一、创建一个基于TCP绑定的WCF服务


1、创建一个的简单的服务具体代码如下


服务契约定义

namespace SimpleService{   // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IHelloService”。   [ServiceContract]   public interface IHelloService   {     [OperationContract]     string GetMessage(string message);   }}


服务具体方法实现

namespace SimpleService{  // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“HelloService”。  public class HelloService : IHelloService  {    public string GetMessage(string message)    {      return message + "\t" + DateTime.Now;    }  }}

 


在Web应用程序中创建SVC文件指向服务代码

 <%@ ServiceHost Language="C#" Debug="true" Service="SimpleService.HelloService" %>


具体配置文件设置如下

 <system.serviceModel>  <services>   <service name="SimpleService.HelloService" behaviorConfiguration="HttpGetEnable">    <!--设置绑定协议为TCP协议-->    <endpoint address="" bindingConfiguration="NoneSecurity" binding="netTcpBinding" contract="SimpleService.IHelloService">    </endpoint>    <!--源数据访问节点-->    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange">    </endpoint>   </service>  </services>  <bindings>   <netTcpBinding>    <!--允许端口共享,使其他基于TCP绑定的WCF服务也能使用808端口-->    <binding name="NoneSecurity" portSharingEnabled="true">     <!--取消安全验证-->     <security mode="None">     </security>    </binding>   </netTcpBinding>  </bindings>  <behaviors>   <serviceBehaviors>    <!--允许通过http协议获取源数据-->    <behavior name="HttpGetEnable">     <serviceMetadata httpGetEnabled="true"/>     <serviceDebug includeExceptionDetailInFaults="true"/>    </behavior>   </serviceBehaviors>  </behaviors>  <!--启用多站点绑定,方便使用IP地址或者域名访问-->  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">  </serviceHostingEnvironment> </system.serviceModel> <system.webServer>  <!--启用目录浏览方便使用-->  <directoryBrowse enabled="true"/> </system.webServer>


解决方案具体配置如下

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

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


二、设置 IIS增加非Http协议支持


打开控制面——选择大图标——程序和功能——启用或关闭windows功能——勾选.net3.5中非Http激活,如果是win8/8.1/10则需要勾选.net4.6中所有的高级功能

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

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

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

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


在IIS中创建要托管的站点目录指向WCF服务Web宿主所在目录

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

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


增加站点非HTTP绑定支持

右键选择站点——编辑绑定——添加——类型选择net.tcp——绑定信息808:* 

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

设置站点支持net.tcp协议,右键站点——管理网站——高级设置——已启用的协议——添加net.tcp 

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

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


三、最终效果



在浏览器中访问站点的SVC文件,效果如下图

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

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



源数据中可以看到已经是net.tcp绑定

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

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


在WCFTestClient中调用服务


添加服务地址

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

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



调用服务

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

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



服务客户端配置文件信息

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

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


后记


在正式使用中应将客户端配置文件中的主机地址替换为主机的IP地址






原标题:IIS 中托管基于TCP绑定的WCF服务

关键词:IIS

IIS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊前置评论板块!赋予产品评论更大权重:https://www.kjdsnews.com/a/1601916.html
短视频直播成交话术攻略:https://www.kjdsnews.com/a/1601917.html
2023深圳进出口贸易博览会六大亮点抢先看!:https://www.kjdsnews.com/a/1601918.html
职业跟卖开直播收徒!投诉致品牌滥用?上狠招!:https://www.kjdsnews.com/a/1601919.html
全球消费躺平,这家美国五元店的春天来了?:https://www.kjdsnews.com/a/1602905.html
抢滩中东新蓝海,沙特物流却成拦路虎?:https://www.kjdsnews.com/a/1602906.html
长治婚庆女司仪和主持人:https://www.vstour.cn/a/366176.html
北京丰台区水上乐园哪家好玩?:https://www.vstour.cn/a/366177.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流