Сначала создайте служебную функцию, как показано ниже.Эта функция должна находиться в библиотеке или классе, который может быть вызван из вашего веб-сервиса (и, конечно, вашего основного проекта).Лучше добавить ссылку на эту библиотеку в ваш веб-сервис.
public static string GetAppConfigValue(string key)
{
return ConfigurationManager.AppSettings[key] ?? GetAppConfigValue(GetAppConfigFileName(), key);
}
private static string GetAppConfigValue(string appConfigFileName, string key)
{
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = appConfigFileName;
Configuration appConfig = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
return appConfig.AppSettings.Settings[key].Value;
}
Теперь, если вы можете вызвать GetAppConfigValue(string)
из вашего основного проекта, он возвращает значение кэшированного app.config, поскольку это его собственная конфигурацияфайл.Вы также можете вызвать публичную функцию из проекта веб-службы, когда она вернет сопоставленные параметры конфигурации.Сложная задача - правильно указать полный путь к файлу конфигурации!