1. ホーム
  2. .net

[解決済み] .NET WebRequestを使用してsharepointにファイルをアップロードすると、409/Conflict HTTPエラーが発生する理由?

2022-03-07 16:46:13

質問

WebRequest を使用して、Sharepoint 2010 のリスト/フォルダにファイルをアップロードするメソッドがあります。

複数のファイルをアップロードすると(メソッドが数回呼び出される)、一部のリクエストは409 Conflict HTTPエラーで失敗します。

ググってみたところ、存在しないファイルに影響を与えようとする/更新しようとする(ファイル名のないパスにリクエストURLを設定するような)ことが最も一般的な理由のようです。しかし、そのようなことはありません。ファイルが既に存在することによる衝突を想定し、アップロードする前にファイルを物理的に削除するコードを追加しましたが、それでもまだ409がいくつか発生しています。

このようなエラーが発生した方はいらっしゃいますか?また、その場合、どのように修正したのか、根本的な原因は何だったのかを教えてください。どんな助けでも大いに感謝します。ありがとうございます。

解決方法を教えてください。

回答が投稿されていなかったので、以下を発見しました。 こちら :

Webサーバ(Webサイトを運営)は、クライアント(WebブラウザやCheckUpDownロボットなど)から送信されたリクエストが、すでに確立されている何らかのルールと矛盾するため、完了できないと考えます。たとえば、すでにあるファイルよりも古いファイルをウェブサーバーにアップロードしようとすると、409エラーが発生することがあります。

の誰かが 同じような質問がstackoverflowにあります。 , その答えはこうだと言っています。

<ブロッククオート

この問題は、ドキュメントのurlを参照しているときに発生したことがあります。 ライブラリで、保存先ファイルそのものではありません。

すなわち http://server name/document library name/new file name.doc

しかし、WebRequestのURIプロパティを何度か確認したところ、URIはファイル名まで揃っており、パス内のフォルダはすべてシェアポイントサイトに存在していたので、私のケースではないことは100%確かです。

とにかく、これが誰かの助けになることを願っています。