加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在web.config中避免添加汇编版本?

发布时间:2020-12-15 05:37:00 所属栏目:百科 来源:网络整理
导读:我正在向我的WCF服务添加一个自定义端点行为,并使用从BehaviorExtensionElement扩展的类来初始化它.在我的web.config中,我添加以下内容来注册行为扩展: system.serviceModel services service name="Service.MyService" endpoint address="" behaviorConfig
我正在向我的WCF服务添加一个自定义端点行为,并使用从BehaviorExtensionElement扩展的类来初始化它.在我的web.config中,我添加以下内容来注册行为扩展:
<system.serviceModel>
    <services>
      <service name="Service.MyService">
        <endpoint address=""
                  behaviorConfiguration="endpointBehavior"
                  binding="basicHttpBinding"
                  contract="Contracts.IMyService"/>
      </service>
    </services>

    <behaviors>
      <endpointBehaviors>
        <behavior name="endpointBehavior">
          <logBehavior />
        </behavior>
      </endpointBehaviors>
    </behaviors>

    <extensions>
      <behaviorExtensions>
        <add name="logBehavior"
             type="MyNamespace.MyBehaviorExtensionElement,MyAssembly,Version=0.0.0.1,Culture=neutral,PublicKeyToken=null" />
      </behaviorExtensions>
    </extensions>
</system.serviceModel>

这工作绝对正常,但我必须指定程序集的版本才能加载它.如果我将程序集引用更改为仅MyNamespace.MyBehaviorExtensionElement,MyAssembly没有版本/ culture / token,则服务无法启动并显示错误:

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: An error occurred creating the configuration section handler for system.serviceModel/behaviors: Extension element ‘logBehavior’ cannot be added to this element. Verify that the extension is registered in the extension collection at system.serviceModel/extensions/behaviorExtensions.
Parameter name: element

作为构建过程的一部分,我的程序集版本的最后部分将经常更改.如何每次构建版本增加(可能是数百次)时,我如何避免使用新版本号继续更新web.config?

解决方法

我认为在.net 4或更高版本中删除了对完全指定的类名的限制.你有没有尝试过:
<behaviorExtensions>
     <add name="logBehavior"
         type="MyNamespace.MyBehaviorExtensionElement,MyAssembly" />
  </behaviorExtensions>

我可能错了!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读