IIS - 如何使用Microsoft.Web.Administration编辑应用程序的本地配置

时间:2015-06-30 10:29:33

标签: c# asp.net iis

我可以使用ServerManager创建一个网站:

iisApplication = site.Applications.Add("/MySite", SomePath);

我想编辑一些属性(但仅限于此应用程序,而不是站点或服务器范围)。使用此代码

            Configuration config = iisApplication.GetWebConfiguration();

            ConfigurationSection defaultDocumentSection = config.GetSection("system.webServer/defaultDocument");
            ConfigurationElementCollection documents = defaultDocumentSection.GetCollection("files");
            documents.Clear();
            ConfigurationElement document = documents.CreateElement();
            document["value"] = "MyFile.aspx"; 
            documents.Add(document);

一旦我提交更改,我就会收到错误

Filename: \\?\C:\inetpub\wwwroot\MySite\web.config
Error: Cannot write configuration file

现在看起来好像GetWebConfiguration()正在插入错误的web.config文件,因为我的网站没有存储在inetpub中,它位于不同的文件夹中。

如何在本地网站文件夹中编辑web.config?这是winforms。

2 个答案:

答案 0 :(得分:1)

我找到了答案 - 必须使用“位置”路径在更高级别进行编辑:

config = iisManager.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Default Web Site/MySite);
anonymousAuthenticationSection["enabled"] = true;
iisManager.CommitChanges();

答案 1 :(得分:0)

请查看此链接

Creating a new website programmatically on IIS using ASP.NET and C#

希望它对你有所帮助。