asp.net 4.0, Visual Studio 2010, Windows 7, сервер разработки ASP.NET, элемент управления FileUpload
Я боролся с этой проблемой весь день. Я предоставил всем полный контроль над каталогом.
У меня есть элемент управления FileUpload, и когда код пытается SaveAs (), он генерирует исключение System.UnauthorizedAccessException, и я получаю ошибку:
{"Access to the path 'D:\FileAttachments\17' is denied."}
_HResult = &H80070005
Source = "mscorlib"
StackTrace = "at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode) at System.Web.HttpPostedFile.SaveAs(String filename) at System.Web.UI.WebControls.FileUpload.SaveAs(String filename) ..."
Я переместил каталог из-под сайта
Я предоставил полный контроль всем, мне, сетевым службам, аутентифицированным пользователям, системе, администраторам, пользователям, IIS_IUSRS,
Я запустил attrib, чтобы удалить доступ только для чтения
Я добавил в web.config
Я изменил удостоверение пула приложений на Сетевые службы - но не уверен, что это что-то делает, так как я думаю, что VS 2010 использует свой собственный сервер разработки.
WindowsIdentity.GetCurrent возвращает
IdentifierAuthority = NTAuthority {&H5}
AuthenticationType = "NTLM"
Name = "mymachine\myname"
Но в Windows Explorer, где я пытаюсь добавить разрешения - он не распознает пользователя с именем "NTAuthority"
Есть идеи? спасибо
(извините за странное форматирование - stackoverflow не позволял мне опубликовать вопрос, потому что он думал, что у меня есть код, который я не помечал как код)