Я настраиваю веб-приложение .NET v4.0 на сервере Windows 2008 R2 / IIS 7.5, который использует учетную запись домена для удостоверения пула приложений. Когда я захожу на сайт, я получаю следующую ошибку:
Текущий идентификатор () не имеет доступа на запись к 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files'
Согласно этому: http://learn.iis.net/page.aspx/140/understanding-built-in-user-and-group-accounts-in-iis/ идентификатор рабочего процесса добавляется в группу IIS_IUSRS при запуске процесса. Кажется, это нормально работает для существующих приложений .NET v2.0, которые я запускал на том же сервере (мне не приходилось добавлять идентификаторы пула приложений учетных записей домена в группу IIS_IUSRS). Это не похоже на первое веб-приложение .NET v4.0, которое я настраиваю.
Как только я добавляю личность в группу, все работает нормально. Я подозреваю, что что-то настроено неправильно, что заставляет меня это делать. Я хотел бы понять это, прежде чем развертывать больше сайтов / серверов.
Заранее спасибо за вашу помощь...
У удостоверения пользователя нет прав на доступ к временным файлам asp.net. У меня были проблемы до этого, которые были решены путем предоставления этому пользователю прав доступа ntfs к этой папке. Кроме того, временно повысьте права пользователя, чтобы убедиться, что это проблема с разрешениями. Затем вы можете проверить, имеет ли группа IIS_ISUSRS достаточные разрешения для этих файлов. Не забудьте переработать IIS.
ASP.NET 4 не регистрируется в IIS автоматически, даже если вы устанавливаете .NET Framework 4. Вы должны выполнить вручную aspnet_regiis
прежде чем делать что-либо еще,
msdn.microsoft.com/en-us/library/vstudio/k6h9cz8h(v=vs.100).aspx
-i
или -ir
достаточно.