我想将web.config的system.serviceModel部分分成单独的文件,以方便某些环境设置。我的努力没有结果。当我尝试使用这种方法时。 wcf代码抛出一个异常:“'System.ServiceModel.ClientBase 1
的类型初始值设定项引发异常。有谁能告诉我我做错了什么?
的Web.config:
<configuration>
<system.serviceModel configSource="MyWCF.config" />
....
MyWCF.config:
<system.serviceModel>
<extensions>
...
</extensions>
<bindings>
...
</bindings>
<behaviors>
...
</behaviors>
<client>
...
</client>
</system.serviceModel>
答案 0 :(得分:34)
您无法“外化”<system.serviceModel>
部分组 - 因为它是组的配置部分 - 但您绝对可以将其中的每个位外部化:
<system.serviceModel>
<behaviors configSource="behaviors.config" />
<bindings configSource="bindings.config" />
<extensions configSource="extensions.config" />
<client configSource="client.config" />
<services configSource="services.config" />
</system.serviceModel>
在.NET配置系统中,任何配置部分都可以外部化 - 每个配置部分都有configSource
属性(即使Visual Studio有时会抱怨并声称相反...... 。) - 但不是配置节组。
不幸的是,这两者很难区分 - 您需要查阅MSDN库或文档才能找到答案。
你还应该在CodeProject上查看Jon Rista关于.NET配置系统的三部分系列文章。
强烈推荐,写得很好,非常有帮助!
答案 1 :(得分:5)