Не могу добавить привязки к IIS программно - разрешения redirection.config (с видео!)

Вот краткое изложение моей проблемы с видео http://screencast.com/t/iKWM2O6e

Я пытаюсь добавить привязки программно в IIS с этим кодом:

public void AddBindings(string sitename, string hostname)
{
  ServerManager serverMgr = new ServerManager();

  Site mySite = serverMgr.Sites[sitename];

  mySite.Bindings.Add("*:80:" + hostname, "http");
  mySite.ServerAutoStart = true;

  serverMgr.CommitChanges();
}

И я получаю эту ошибку:

Filename: redirection.config
Error: Cannot read configuration file due to insufficient permissions

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Filename: redirection.config
Error: Cannot read configuration file due to insufficient permissions


ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

Я обратился к разрешениям на redirection.config (у IUSR и IIS_IUSRS есть разрешения)

А также ошибки в файле web.config, предложенные здесь http://www.codeproject.com/Questions/348972/Error-Cannot-read-configuration-file-due-to-insuff

Но это все еще не работает. Любые предложения будут высоко ценится.

ОТВЕТ

Веб-сайты не работают в группе IIS. Тот, кто владеет пулом приложений, является пользователем, и этому пользователю необходимо разрешение. Или поместите этого пользователя в группу IIS_IUSRS.

1 ответ

Выясните, под какой учетной записью работает пул приложений. Тогда вам нужно предоставить этой учетной записи доступ ко всему %SystemRoot%\System32\inetsrv\config папка. Мне было недостаточно, чтобы дать доступ только %SystemRoot%\System32\inetsrv\config\redirection.config

В моем случае "запуск от имени администратора" решил проблему

Другие вопросы по тегам