WCF快速开发框架 - IIS承载WCF net.tcp协议NetTcpBinding配置详解
WCF快速开发框架 - IIS承载WCF net.tcp协议NetTcpBinding配置详解
产品介绍
C/S架构软件快速开发平台助力开发团队快速搭建自己的软件项目,旗舰版提供强大的底层开发架构及快速开发工具-Winform三层架构代码生成器v5.1,旗舰版集成大量应用于大型系统的通用功能模块、数据界面及通用权限管理系统,提供丰富的实例开发模板、开发文档、线上技术指导服务,助力您快速搭建软件项目。
C/S架构开发框架系列产品已成功应用500多家企业、4000多位软件用户,其中包括国内知名软件公司、国有企业、研发机构及上市公司(优秀企业选择了我们的产品-成功案例)。经过十年迭代升级,最新旗舰版V5.1,基础架构更成熟、应用更广泛、性能更稳定、开发效率更高!
开发框架配套的核心工具 - Winform三层架构代码生成器能快速生成界面(FORM)、业务层(BLL)、数据层(DAL)、模型(Model)、报表(Report)以及VS工程项目(Project)的源代码,快速提升开发效率,节约开发时间,降低项目成本,根据多个项目统计,开发框架能为您减少60%以上的工作量。
开发框架经过多个技术层面性能测试,能满足企业级大型软件项目开发技术指标,稳定、开源、快速是开发框架的核心竞争力。我们积极收集用户反馈的意见,不断完善和改进产品。我们秉着分享成功经验坚持产品创新原则,专业、专心、专注的工匠精神,致力于服务IT同行,为您创造价值。
--- 唯快不破,以势赢,以力胜!
扫一扫加作者微信
一、服务端配置
开发环境vs2017,打开web.config文件,参考以下配置:
web.config文件配置 - bingings节点配置netTcpBinding协议绑定
XML Code:
<!--netTcpBinding配置-->
<netTcpBinding>
<binding name="NetTcpBinding" 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="1048576" maxConnections="10" maxReceivedMessageSize="1048576">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
<security mode="None">
<transport clientCredentialType="None" protectionLevel="None">
</transport>
<message clientCredentialType="None" />
</security>
</binding>
</netTcpBinding>
</bindings>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
<bindings>
<!--netTcpBinding配置-->
<netTcpBinding>
<binding name="NetTcpBinding" 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="1048576" maxConnections="10" maxReceivedMessageSize="1048576">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
<security mode="None">
<transport clientCredentialType="None" protectionLevel="None">
</transport>
<message clientCredentialType="None" />
</security>
</binding>
</netTcpBinding>
</bindings>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
web.config文件配置 - services节点配置WCF服务接口
XML Code:
<!--WCF服务配置,配置服务对应的接口-->
<services>
<service behaviorConfiguration="myBehavior" name="CSFrameworkV5.WCFContract.WCF_Class.CommonService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="NetTcpBinding" contract="CSFrameworkV5.WCFContract.ICommonService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
</service>
</services>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
<services>
<service behaviorConfiguration="myBehavior" name="CSFrameworkV5.WCFContract.WCF_Class.CommonService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="NetTcpBinding" contract="CSFrameworkV5.WCFContract.ICommonService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
</service>
</services>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
web.config文件配置 - behaviors节点行为配置
XML Code:
<!--WCF服务配置 通用行为配置-->
<behaviors>
<serviceBehaviors>
<behavior name="myBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="false"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceThrottling maxConcurrentCalls="200" maxConcurrentSessions="200" maxConcurrentInstances="200"/>
</behavior>
</serviceBehaviors>
</behaviors>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
<behaviors>
<serviceBehaviors>
<behavior name="myBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="false"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceThrottling maxConcurrentCalls="200" maxConcurrentSessions="200" maxConcurrentInstances="200"/>
</behavior>
</serviceBehaviors>
</behaviors>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
给协议指定默认的绑定类型 (经测试,好像没有作用)
XML Code:
<protocolMapping>
<!--tcp地址使用netTcpBinding作为默认绑定类型-->
<add scheme="tcp" binding="netTcpBinding"/>
<!--http地址使用wsHttpBinding作为默认绑定类型-->
<!--<add scheme="http" binding="wsHttpBinding"/>-->
</protocolMapping>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
<!--tcp地址使用netTcpBinding作为默认绑定类型-->
<add scheme="tcp" binding="netTcpBinding"/>
<!--http地址使用wsHttpBinding作为默认绑定类型-->
<!--<add scheme="http" binding="wsHttpBinding"/>-->
</protocolMapping>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
二、发布IIS,发布WCF服务IIS宿主
参考:WCF开发框架 - vs发布IIS承载(IIS Hosting)的WCF应用服务详解
三、IIS配置
3.1 给IIS网站添加net.tcp协议绑定
IIS网站默认已绑定了http协议,并分配默认80端口,我们需要添加一个net.tcp协议:如下图:
绑定信息:填写net.tcp 协议的端口,格式:8099:* (要确定8099端口未被占用)
3.2 打开浏览器,输入:http://localhost/CommonService.svc,http协议正常:
注意:不能直接在IE浏览器输入net.tcp协议URI地址,IE提示无法识别的协议net.tcp, 如下图:
3.3 测试net.tcp协议地址是否正常
可以通过【添加服务引用】测试net.tcp协议WCF地址:
输入:net.tcp://localhost:8099/commonService.svc
3.4 C/S框架旗舰版v5.1,连接net.tcp协议的WCF接口,客户端配置:
打开vs, 修改CSFrameworkV5.Main下面的App.config文件,添加如下配置:
XML Code:
<appSettings>
<add key="ICommonService" value="net.tcp://localhost:8099/CommonService.svc"/>
<add key="IDataDictService" value="net.tcp://localhost:8099/DataDictService.svc"/>
<add key="IMessageCenter" value="net.tcp://localhost:8099/MessageCenter.svc"/>
<add key="ISystemSecurityService" value="net.tcp://localhost:8099/SystemSecurityService.svc"/>
</appSettings>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
<add key="ICommonService" value="net.tcp://localhost:8099/CommonService.svc"/>
<add key="IDataDictService" value="net.tcp://localhost:8099/DataDictService.svc"/>
<add key="IMessageCenter" value="net.tcp://localhost:8099/MessageCenter.svc"/>
<add key="ISystemSecurityService" value="net.tcp://localhost:8099/SystemSecurityService.svc"/>
</appSettings>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
XML Code:
<!--WCF服务-客户端配置-->
<system.serviceModel>
<bindings>
<!--NetTcpBinding 绑定配置-->
<netTcpBinding>
<binding name="NetTcpBinding" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="2147483647"
maxBufferSize="2147483647" maxConnections="10" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="None">
<transport clientCredentialType="None" protectionLevel="None">
</transport>
<message clientCredentialType="None" />
</security>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
<system.serviceModel>
<bindings>
<!--NetTcpBinding 绑定配置-->
<netTcpBinding>
<binding name="NetTcpBinding" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="2147483647"
maxBufferSize="2147483647" maxConnections="10" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="None">
<transport clientCredentialType="None" protectionLevel="None">
</transport>
<message clientCredentialType="None" />
</security>
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
//来源:C/S框架网 | www.csframework.com | QQ:23404761
修改WCFFactory.cs 文件的Create方法(在这里创建三种绑定的对象实例)
C# Code:
var myBinding = new NetTcpBinding("NetTcpBinding");
//来源:C/S框架网 | www.csframework.com | QQ:23404761
//获取协议配置并创建实例,必须是主程序的App.config配置文件
//var myBinding = new WSHttpBinding("WSHttpBinding");
//var myBinding = new BasicHttpBinding("BasicHttpBinding");
//var myBinding = new WSHttpBinding("WSHttpBinding");
//var myBinding = new BasicHttpBinding("BasicHttpBinding");
var myBinding = new NetTcpBinding("NetTcpBinding");
//来源:C/S框架网 | www.csframework.com | QQ:23404761
运行C/S框架程序,net.tcp协议连接正常:
查询/修改数据正常:
其他配置,应用程序池配置(重要):
C/S架构软件快速开发平台-旗舰版V5.1 (Ultimate Edition 2021)
适用开发:企业级ERP、MES、MRP、HIS、WMS、TMS、CRM、MIS、POS等数据管理系统
运行平台:Windows (Winform) + .NET Framework 4.5
开发工具:Visual Studio 2017+,C#语言
多数据库:MsSQL 2008R2 / MySql5.7.34 / Oracle 11g
运行平台:Windows (Winform) + .NET Framework 4.5
开发工具:Visual Studio 2017+,C#语言
多数据库:MsSQL 2008R2 / MySql5.7.34 / Oracle 11g
产品介绍
C/S架构软件快速开发平台助力开发团队快速搭建自己的软件项目,旗舰版提供强大的底层开发架构及快速开发工具-Winform三层架构代码生成器v5.1,旗舰版集成大量应用于大型系统的通用功能模块、数据界面及通用权限管理系统,提供丰富的实例开发模板、开发文档、线上技术指导服务,助力您快速搭建软件项目。
C/S架构开发框架系列产品已成功应用500多家企业、4000多位软件用户,其中包括国内知名软件公司、国有企业、研发机构及上市公司(优秀企业选择了我们的产品-成功案例)。经过十年迭代升级,最新旗舰版V5.1,基础架构更成熟、应用更广泛、性能更稳定、开发效率更高!
开发框架配套的核心工具 - Winform三层架构代码生成器能快速生成界面(FORM)、业务层(BLL)、数据层(DAL)、模型(Model)、报表(Report)以及VS工程项目(Project)的源代码,快速提升开发效率,节约开发时间,降低项目成本,根据多个项目统计,开发框架能为您减少60%以上的工作量。
开发框架经过多个技术层面性能测试,能满足企业级大型软件项目开发技术指标,稳定、开源、快速是开发框架的核心竞争力。我们积极收集用户反馈的意见,不断完善和改进产品。我们秉着分享成功经验坚持产品创新原则,专业、专心、专注的工匠精神,致力于服务IT同行,为您创造价值。
--- 唯快不破,以势赢,以力胜!
扫一扫加作者微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网