У меня есть веб-сервис WCF ASP.Net 4.0, который мы назовем «WebService».WebService использует сборку библиотеки классов, которую мы назовем «WebServiceClassLibrary».WebServiceClassLibrary ссылается на другую сборку библиотеки классов ("ExternalClassLibrary").ExternalClassLibrary построен для использования файла конфигурации.Он использует этот файл, чтобы узнать, куда отправлять некоторые сообщения HTTP во время выполнения.У меня проблема, когда неважно, куда я помещаю раздел конфигурации для ExternalClassLibrary, он использует конфигурацию по умолчанию (такое поведение я ожидаю, когда не удается найти файл конфигурации во время выполнения).
Я ожидаю, что это означает, что когда .Net пытается найти конфигурацию для ExternalClassLibrary, он не может это сделать и использует информацию о конфигурации, найденную в скомпилированной сборке.Я попытался переопределить эту конфигурацию, поместив раздел конфигурации в файл web.config для WebService, создав файл конфигурации для ExternalClassLibrary и создав файл конфигурации для WebServiceClassLibrary.Даже если я пытаюсь переопределить конфигурацию в каждом из этих мест, она все равно заканчивается использованием конфигурации по умолчанию.Я размещаю сайт в IIS 7.
Может кто-нибудь сказать мне, как я могу определить, где мне нужно разместить эту основную информацию о конфигурации?Я пытался использовать Process Monitor SysInternals для просмотра неудачных попыток чтения файловой системы, но он показывает только два возможных места для переопределения конфигурации, и ни одно из них не помогло.
Оцените это!
- ОБНОВЛЕНИЕ, Вот содержимое файла XML, который я пытаюсь загрузить -
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="MyAppName.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<MyAppName.Properties.Settings>
<setting name="APIURL" serializeAs="String">
<value>http://servername/default.html</value>
</setting>
<setting name="APIAPPINI" serializeAs="String">
<value>app.ini</value>
</setting>
<setting name="ApiUrlRoot" serializeAs="String">
<value>https://www.domain.com/company[instance]test/index.htm</value>
</setting>
<setting name="ApiInstances" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>usa</string>
<string>eu</string>
<string>asia</string>
<string>lat</string>
<string>jpn</string>
</ArrayOfString>
</value>
</setting>
<setting name="ApiKey" serializeAs="String">
<value>password</value>
</setting>
<setting name="ApiUrlRoot" serializeAs="String">
<value>http://site[instance].domain.com/</value>
</setting>
<setting name="ProductId" serializeAs="String">
<value>12345</value>
</setting>
</MyAppName.Properties.Settings>
</applicationSettings>
</configuration>