У меня есть форма победы, которая создает сайт в IIS7. Одна функция должна открыть web.config файл и сделать несколько обновлений. (строка подключения, smtp, олицетворение)
Однако у меня нет виртуального тракта, просто физический путь.
Есть ли какой-либо способ, которым я могу все еще использовать WebConfigurationManager?
Я должен использовать, это - способность найти раздел и чтение-запись.
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration
Вам нужно будет сопоставить PhysicalPath с virtualPath. Вот как бы вы это сделали.
using System.Web.Configuration; //Reference the System.Web DLL (project needs to be using .Net 4.0 full, not client framework)
public static Configuration OpenConfigFile(string configPath)
{
var configFile = new FileInfo(configPath);
var vdm = new VirtualDirectoryMapping(configFile.DirectoryName, true, configFile.Name);
var wcfm = new WebConfigurationFileMap();
wcfm.VirtualDirectories.Add("/", vdm);
return WebConfigurationManager.OpenMappedWebConfiguration(wcfm, "/");
}