2015-01-10 3 views
0

Я располагаю сервером на myasp.com, я хотел динамически создать папку для каждого пользователя в папке, которая называется «UserData». при регистрации на данный момент я создаю каталог по FTP-клиенту, а папка получает имя пользователя. этот метод не всегда работает, поэтому я нашел традиционный метод:Динамически создавать папки на сервере? Каков правильный путь?

Directory.CreateDirectory (Server.MapPath ("~") + "hey");

при использовании этого метода Я получаю сообщение об ошибке: Доступ к пути «h: \ root \ home \ sagigamil-001 \ www \ site1 \ hey» отрицается. Тем не менее, я могу проверить, существует ли папка.

Что мне делать? есть способ дать серверу возможность писать самому себе? Каков правильный путь?

+0

Ничего общего с Классическим ASP. – Paul

ответ

0

Возможно, вам нужно попросить вашего хоста предоставить разрешения на запись в ASP.NET. Они могут неохотно делать это из соображений безопасности. Если вы не можете получить такое разрешение, ASP.NET не сможет создать папку.

+0

Я не могу изменить предложения с помощью iis или напрямую через web.config внутри этой папки? –

0

Вы можете создать каталог по FTP, используя этот фрагмент:

var request = WebRequest.Create(new Uri("ftp://host/directory")); 
request.Method = WebRequestMethods.Ftp.MakeDirectory; 

using (var response = (FtpWebResponse)request.GetResponse()) { 
    Console.WriteLine("Response status code: {0}", response.StatusCode); 
} 

Не забудьте установить ваши учетные данные, если это необходимо (назначить их request.Credentials). Если у вас все еще возникают проблемы, не забудьте отправить сообщение об ошибке, которую вы получаете.

+0

Я уже использую этот метод, проблема в том, что myasp.com bloack ftp ports beacause, он работает, но не все время. Я хочу создать каталог по-другому, не получив ошибку «отказ в доступе», есть способ включить запись в папку на сервере? –

Смежные вопросы