Использование веб-клиента для загрузки файла 405 ошибка ошибка - PullRequest
1 голос
/ 02 марта 2011
VS C# 2005

Я использую приведенный ниже код для загрузки файла на сервер под управлением Windows IIS 5.1.

Я просто тестирую на нашем локальном сервере под управлением Windows XP. Тем не менее, я получаю следующее сообщение об ошибке:

The remote server returned an error (405) Method Not Allowed

Я уверен, что это проблема IIS, может быть, что-то так с разрешениями. Однако я настроил IIS для чтения, записи и просмотра каталогов.

Файл config.xml, который я пытаюсь загрузить, находится в том же каталоге, что и исполняемый файл.

   private void upload_config_to_server()
   {
        Uri url = new Uri("http://10.10.10.3/softphone/config.xml");

        WebClient wc = new WebClient();
        if (!wc.IsBusy)
        {                
            try
            {
                wc.UploadFile(url, null, "config.xml");
            }
            catch (WebException webex)
            {
                Console.WriteLine("Web Exception {0}", webex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception {0}", ex.Message);
            }
        }
    }

Большое спасибо за любые предложения,

1 Ответ

2 голосов
/ 02 марта 2011

Только зарегистрированные типы файлов могут принимать запросы методом POST в IIS. См. Эту статью " Как разрешить HTTP 405 " для получения более подробной информации.

Кроме того, для публикации файла необходимо убедиться, что серверный скрипт правильно обрабатывает эту загрузку, если вы хотите, чтобы он отображался в загружаемой папке. Ваш URL (первый аргумент в wc.UploadFile) должен быть сценарием на стороне сервера, который обрабатывает загрузку.

...