zoukankan      html  css  js  c++  java
  • 使用NetTcpBinding,WCF服务未能被激活

    我的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服务的依赖注入

    <%@ 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?

  • 相关阅读:
    编写SASS代码
    表单
    动画和变形
    图片多媒体
    基本概念
    弹性布局
    HTML和CSS概述
    页面的制作过程
    盒子定位体系
    css盒子
  • 原文地址:https://www.cnblogs.com/felixnet/p/7782882.html
Copyright © 2011-2022 走看看