使用NetTcpBinding,WCF服务未能被激活
2017-11-04 11:35
351 查看
我的WCF采用的是NetTcpBinding,使用时就会报错,换成BasicHttpBinding,就一切正常
The requested service, 'net.tcp://wcf.xxxxx.com:21336/GameService.svc' could not be activated. See the server's diagnostic trace logs for more information.
这时我用浏览器访问一下SVC,客户端再请求它又好了,但是隔几分钟不访问,错误又出现
=====================================================================
这个问题困扰我好多天,网上也是找遍了没有解决办法(现在想其实思考方向错了,以为配置有问题,其实是一个WCF服务依赖注入初始化的问题)
关键时刻还是得靠 StackOverflow,随便一搜就找到解决办法了
Autofac WcfIntegration - WCF client service can not be activated when communicating over net.tcp
原来,我用到了Autofac.Integration.Wcf 来做WCF服务的依赖注入
依赖关系的建立等初始化操作是在 Global.asax 的 Application_Start
但是 Global 仅适用 Http 绑定,TCP 绑定可采用另一种方法:
在 App_Code 下随便建一个类,添加一个静态方法 public static void AppInitialize() ,服务启动时,这个方法将被自动执行
注意:包含AppInitialize 静态方法的类只能放在App_Code下,并且是此方法必须唯一
更详细参考:
When AppInitialize method get invoked in ASP.NET?
The requested service, 'net.tcp://wcf.xxxxx.com:21336/GameService.svc' could not be activated. See the server's diagnostic trace logs for more information.
这时我用浏览器访问一下SVC,客户端再请求它又好了,但是隔几分钟不访问,错误又出现
=====================================================================
这个问题困扰我好多天,网上也是找遍了没有解决办法(现在想其实思考方向错了,以为配置有问题,其实是一个WCF服务依赖注入初始化的问题)
关键时刻还是得靠 StackOverflow,随便一搜就找到解决办法了
Autofac WcfIntegration - WCF client service can not be activated when communicating over net.tcp
原来,我用到了Autofac.Integration.Wcf 来做WCF服务的依赖注入
<%@ ServiceHost Language="C#" Debug="true" Service="Wettery.WcfContract.Services.IGameService, Wettery.WcfContract.Services" Factory="Autofac.Integration.Wcf.AutofacServiceHostFactory, Autofac.Integration.Wcf" %>
依赖关系的建立等初始化操作是在 Global.asax 的 Application_Start
但是 Global 仅适用 Http 绑定,TCP 绑定可采用另一种方法:
在 App_Code 下随便建一个类,添加一个静态方法 public static void AppInitialize() ,服务启动时,这个方法将被自动执行
注意:包含AppInitialize 静态方法的类只能放在App_Code下,并且是此方法必须唯一
更详细参考:
When AppInitialize method get invoked in ASP.NET?
相关文章推荐
- IIS7.0+was 托管使用"NetTcpBinding"等会话服务的wcf程序
- WCF服务 使用netTcpBinding
- SilverLight与WCF服务双工通讯第二篇:Net.Tcp binding
- 如何在IIS中承载WCF NetTcpBinding 服务
- [WCF]NetTcpBinding在IIS中使用的详细配置方法
- wcf使用netTcpBinding实现双工通信
- SilverLight通过Net.TCP(NetTCPBinding)方式调用WCF服务
- WCF分布式安全开发实践(9):消息安全模式之Windows身份验证:Message_Windows_NetTcpBinding
- WCF系列(七) - WCF安全系列(二) - netTCPBinding绑定之Transport安全模式
- 托管和使用WCF服务:WAS(Windows激活服务)
- 使托管在Asp.net中的WCF服务也使用Form验证
- Silverlight与WCF之间的通信(4)silverlight以net.tcp方式调用console上寄宿的wcf服务
- WCF安全系列(三) - netTCPBinding绑定之Message安全模式
- 稳扎稳打Silverlight(53) - 4.0通信之对WCF NetTcpBinding的支持, 在Socket通信中通过HTTP检索策略文件, HTTP请求中的ClientHttp和BrowserHttp
- IIS7下配置WCF的netTcpBinding
- WCF分布式安全开发实践(9):消息安全模式之Windows身份验证:Message_Windows_NetTcpBinding
- 启用WCF NetTcpBinding的共享端口
- WCF服务在JavaScript中使用ASP.NET的AJAX方法
- 启用WCF NetTcpBinding的共享端口
- 关于VS2008不能调试使用WSDualHttpBinding协议WCF服务的问题