Подтвердить что ты не робот

Причины ошибки HTTP 409/Conflict при загрузке файла в sharepoint с помощью .NET WebRequest?

У меня есть метод, который использует WebRequest для загрузки файла в список/папку sharepoint 2010, используя запрос PUT, с заголовком Overwrite Header, установленным в T (перезаписывать).

Когда несколько файлов загружаются (метод вызывается несколько раз), некоторые запросы терпят неудачу с ошибкой HTTP 409 Conflict.

Я искал googled, и кажется, что наиболее распространенная причина заключается в попытке повлиять на/обновить файл, который не существует (например, установить URL-адрес запроса на путь без имени файла). Однако это не так. Если конфликт имел какое-то отношение к уже существующему файлу, я добавил код, чтобы физически удалить файл перед его загрузкой, и я все еще получаю около 409.

Кто-нибудь получил этот тип ошибок, и если да, можете ли вы рассказать мне, как вы его исправили и какова была основная причина? Любая помощь приветствуется. Благодаря

4b9b3361

Ответ 1

Поскольку ответов не было, я нашел здесь следующее:

Веб-сервер (работающий на веб-сайте) считает, что запрос, отправленный клиентом (например, вашим веб-браузером или нашим роботом CheckUpDown), не может быть выполнен, поскольку он конфликтует с каким-то уже установленным правилом. Например, вы можете получить ошибку 409, если попытаетесь загрузить файл на веб-сервер, который старше, чем тот, который уже существует, что приведет к конфликту управления версиями.

Кто-то, находящийся на fooobar.com/questions/302940/..., сказал:

У меня была эта проблема, когда я ссылался на URL библиотеки документов, а не на сам файл назначения.

т.е. попробуйте http://server name/document library name/new file name.doc

Однако я на 100% уверен, что это был не мой случай, так как я несколько раз проверял свойство URI WebRequest, и URI был полон имени файла, и все папки в пути существовали на сайте sharepoint.

В любом случае, я надеюсь, что это кому-то поможет.

Ответ 2

Я нашел 2 вещи, которые стоит упомянуть при загрузке файлов с помощью webdav и http-запроса. Во-первых, для провайдера, которого я использовал, мне пришлось добавить имя файла в конце URL-адреса провайдера. Я хотел добавить номер порта в URL. И я также установил метод Request для PUT вместо POST.

Пример:

string webdavUrl = "https://localhost:443/downloads/test.pdf";
request.Method = "PUT";

Ответ 3

Мы также получаем ту же ошибку, когда мы пытаемся получить доступ к одному и тому же ресурсу в миллисекундах. Например, если я пытаюсь выполнить POST некоторые данные в www.abc.com/blog, а в миллисекундах другой запрос будет также поступать для того же ресурса, то есть www.abc.com/blog от того же пользователя. Таким образом, это приведет к ошибке 409.

Ответ 4

Я столкнулся с подобной проблемой при загрузке файла вернул 409.

Помимо упомянутых выше проблем, это также может произойти из-за ограничений размера файла для POST на стороне сервера. Например, tomcat (веб-сервер Java) по умолчанию имеет ограничение размера POST 2 МБ.

Ответ 6

проблема с конфликтом 409, возникающая на странице оповещения моего сайта " Индикатор бустера" в Индии, помогите мне решить эту ошибку.