5

C#を使用しているサイトで匿名認証を無効にしようとしています

このコードは、下部に書かれた例外をスローします。私はそれを解決する方法の答えを見つけることができないすべての場所を検索しました。

using (ServerManager serverManager = new ServerManager())
{
    Configuration configapp = serverManager.GetApplicationHostConfiguration();
    ConfigurationSection anonymousAuthenticationSection = configapp.GetSection("system.webServer/security/authentication/anonymousAuthentication", Site1);
    anonymousAuthenticationSection["enabled"] = false;

    serverManager.CommitChanges();
} 

例外:

System.IO.FileNotFoundException: Filename: \\?\C:\Windows\system32\inetsrv\config\applicationHost.config
Error: Unrecognized configuration path 'MACHINE/WEBROOT/APPHOST/Site1'
   at Microsoft.Web.Administration.Interop.AppHostWritableAdminManager.GetAdminSection(String bstrSectionName, String bstrSectionPath)
   at Microsoft.Web.Administration.Configuration.GetSectionInternal(ConfigurationSection section, String sectionPath, String locationPath)
   at Microsoft.Web.Administration.Configuration.GetSection(String sectionPath, String locationPath)
   at FlowSuiteWebConfigurator.label.button1_Click(Object sender, EventArgs e) in C:\Users\Administrator\documents\visual studio 2010\Projects\Projectname\Projectname\Form1.cs:line 264

誰かがこれを修正する方法を教えてもらえますか?

4

1 に答える 1

2

少し遅いかもしれませんが(1年半後...)、問題は場所の定義(configapp.GetSectionの2番目のパラメーター)にあるようです:例外は言ったError: Unrecognized configuration path 'MACHINE/WEBROOT/APPHOST/Site1'

私のマシンでローカルにテストしたところ、 のような有効な場所名で例外はありませんDefault Web Site/MyCustomPortal

注: 追加された参照はMicrosoft.Web.Administration.dllの下C:\Windows\System32\inetsrv\にあり、これらのコード行は にあるファイルを調べますapplicationHost.configC:\Windows\System32\inetsrv\config

于 2013-12-26T11:32:40.870 に答える