web-dev-qa-db-ja.com

XML POST Win 2008サーバーの制限-IIS7?

サイトを古いwin2000サーバーから新しいwin200864ビットサーバーにアップグレードしました。

このサイトは、XMLデータのPOSTを介したデスクトップアプリケーションからの画像のアップロードを受け入れます。画像は、xml要素の1つにbase64でエンコードされています。 POSTデータを受信するページはClassicASPです。

新しいサーバーに移動したため、正常にアップロードできるのは小さな画像のみです。

最大許容コンテンツ長は30000000バイトに設定されています。したがって、30MB弱でPOSTできるはずです。

1MB以上のエンコードされた画像のxmlをPOSTできません。

サーバー側でXMLをロードするときにエラーが発生します(これはVB dllを使用して発生します)。

古いWindows2000サーバーではファイルサイズが大きいという問題は発生せず、このコードは変更されていません。

私が得るエラーは次のとおりです。

不特定のエラー
エラーコード:-2147467259
ファイルの位置:262165
行:3541
ライン位置:56
ソーステキスト:cvr92x0lnpkUw/0gfuvKqXTYYptY8 + 3q74Jhls7eSfHnfunql4J026mu
URL:

つまり、POSTがXMLの途中で途切れているように見えます。

IISの最大許容コンテンツ長とは別に設定するアイデア-リクエストフィルタリングの下のIISのサイトに設定しています。

2
Nils

POSTエラーは即座に発生しますか、それとも指定された時間が経過した後に発生しますか?、「maxRequestLength」を追加する必要があると思います。これをweb.configの「system.web」に追加してみてください-

<system.web><httpRuntime executionTimeout="999999" maxRequestLength="2097151"
1
user20849

IIS7のデフォルトのアップロード上限は28.61MBです。このファイルを開く必要があります:

C:\Windows\System32\inetsrv\config\applicationHost.config

の中に <requestFiltering>セクション次を追加します。

<requestLimits maxAllowedContentLength=”[length in bytes]” />

100MBの場合、たとえば104857600に設定できます。

1
Karst Lok

おそらく、IIS構成は、大きなペイロードを許可するように変更されていません;)web.configの関連するすべての設定を確認してください。

0
TomTom