I want to separate my system.serviceModel section of the web.config into a separate file to facilitate some environment settings. My efforts have been fruitless. When I attempt it using this method. The wcf code throws an exception: "The type initializer for 'System.ServiceModel.ClientBase 1
threw an exception. Can anyone tell me what I am doing wrong?
Web.config:
<configuration>
<system.serviceModel configSource="MyWCF.config" />
....
MyWCF.config:
<system.serviceModel>
<extensions>
...
</extensions>
<bindings>
...
&开发者_如何学运维lt;/bindings>
<behaviors>
...
</behaviors>
<client>
...
</client>
</system.serviceModel>
You cannot "externalize" the <system.serviceModel>
section group - since it's a configuration section group - but you can definitely externalize each of the bits inside it:
<system.serviceModel>
<behaviors configSource="behaviors.config" />
<bindings configSource="bindings.config" />
<extensions configSource="extensions.config" />
<client configSource="client.config" />
<services configSource="services.config" />
</system.serviceModel>
In the .NET configuration system, any configuration section can be externalized - each configuration section has a configSource
attribute (even though Visual Studio sometimes complains and claims the contrary.....) - but not configuration section groups.
Unfortunately, these two are hard to tell apart - you need to consult the MSDN library or documentation to find out.
You should also check out Jon Rista's three-part series on the .NET configuration system up on CodeProject.
- Unraveling the mysteries of .NET 2.0 configuration
- Decoding the mysteries of .NET 2.0 configuration
- Cracking the mysteries of .NET 2.0 configuration
Highly recommended, well written and extremely helpful!
Try this suggestion:
http://weblogs.asp.net/cibrax/archive/2007/07/24/configsource-attribute-on-system-servicemodel-section.aspx
精彩评论