現在開発中のAzureホストのWebアプリケーションでは、複数パートのフォームデータとAJAXリクエストの両方でファイルをアップロードするときに奇妙な問題が発生します。断続的に、私は認識できる実際のパターンがなく、ファイルをアップロードするときにブラウザは接続がリセットされたことを報告しています。つまり、サーバーは接続を終了しました。フィドラーは私の最も詳細なエラーメッセージを提供しています(サイト全体がすべての要求に対してHTTPSにリダイレクトするように設定されている)HTTPS上で実行している場合にのみ起こっているHTTPS経由でAzure Web Appにファイルをアップロードするときに接続がリセットされる
HTTP/1.1 504 Fiddler - Send Failure
[Fiddler] SendRequest() failed: System.IO.IOException Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. < An existing connection was forcibly closed by the remote host
。このリダイレクトを削除すると、HTTP経由で確実にアップロードできます。
フォームとAJAX要求は、非同期MVCコントローラによって処理されています。これらのコントローラは、ポストデータ内のオブジェクトHttpPostedFileBase
のストリームにアクセスします。これらのストリームは、Azure Blobストレージにアップロードされます。ペイロードが完全にアップロードされる前に接続が閉じられている場合、これらのコントローラが要求を処理しているかどうかわかりませんが?
アイデア?本当にこの上に私の髪を引き裂く。
解決方法を見つけましたか?私は自分のアプリケーションで同じ問題を抱えています。 –
@DaniloVulović私の解決策は下記を参照してください。 – James