public class UploadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
...
// Create the directory if needed...
if (!Directory.Exists(uploadDir))
{
System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity(RivWorks.AppSettings.UploadRoot, System.Security.AccessControl.AccessControlSections.All);
Directory.CreateDirectory(uploadDir, ds);
}
...
}
У меня есть приведенный выше фрагмент кода для файла ASHX, и он отлично работает в моей локальной среде. Как только я отправляю его в серверную среду, я не получаю сообщение об ошибке, похоже, он создал каталог, но когда я проверяю его - ну, его там нет. Когда я запускаю его через приложение FLEX, мы получаем эту ошибку:
Ошибка № 2038: ошибка ввода-вывода файла. URL:
http://[ourdomain].com/UploadHandler.ashx?CompanyID=d229cc80-ca96-4a8a-992c-80c94ac2c6b4
Есть ли что-то, чего мне не хватает?
UPDATE:
- Я могу создавать файлы в любом месте на диске
- Я не могу создавать каталоги
в любом месте на диске.
Теперь я получаю эту ошибку при попытке создать каталог:
Процесс не обладает
Привилегия SeSecurityPrivilege, которая
требуется для этой операции.