10

私はSystem.Web.Helpers.WebGridアプリケーション全体で広範囲に使用していますが、ほとんどの場合は問題ありません。実際、ローカルで実行する場合は常に問題ありません。サーバーでセルフSSLを使用する場合も問題ありません。したがって、問題が実際にIISまたはファイアウォールにあるのか、実際のグリッドにあるのか、それともそれを修正するために何をする必要があるのか​​はわかりません。

すべてのブラウザーで、結果はわずかに異なりますが、WebGridで連続したajaxの並べ替えとページングを行うと、最終的にはハングし、Fiddlerで応答を調べると次のようになります。

[フィドラー]ReadResponse()が失敗しました:サーバーはこのリクエストに対する応答を返しませんでした。

URLをコピーしてブラウザに直接貼り付けると読み込まれますが、F5キーを押し続けると、Chromeで「このWebページは利用できません」(エラーあり103 ERR_CONNECTION_ABORTED)または「InternetExplorerはWebページを表示できません」というメッセージが表示されます。 IE。

URLは非常に長く、複雑で、次のようなものです。http://app.myapp.com/mygrid/9e3b2ae5-cbe1-4a4a-a355-a14f00d26e24?mylayout=true&myid=634982439599769687&readonly=False&search=-&__=634982439708207187&sort=Name&dir=ASC

この問題は、SSL証明書がサーバーにインストールされていれば解消されるようであり、ローカルではまったく発生しません。

何か案は?

4

1 に答える 1

6

質問の最後の段落

SSL証明書がサーバーにインストールされている場合、この問題は解消されるようで、ローカルではまったく発生しません。

サーバー環境からローカル開発環境に同じ証明書を実際に移動することはできないため、暗号化された接続では無効になる可能性があり、ローカル接続でも無効になる可能性があることを知って、すぐに問題の可能性について考えさせられましたDEFLATEGZIP必要に応じて、テスト目的で新しい自己署名証明書を作成する必要があります。

また、以前の .NET 4.0 バージョン 4.0.30319.236 の 1 つを正確に使用する前に、無限ループが GZipStream または DeflateStream の問題で発生する可能性があることに遭遇したこともあります。これらの問題は、後の .NET 4.0 ビルドで解決されており、.NET 4.5 を 4.0 インストールの上にインストールすることで回避できます。それが問題の原因である場合、それを言うのはまだかなり難しく、他のサーバー側の設定が原因である可能性があります.

TL;DR - どちらの場合も、明白な結論は、ファイル内のurlCompressionこれらの要求 (および/またはhttpCompression)に対して IIS サーバーを無効にしてみWeb.configて、問題が解決しないかどうかを確認することでした:

<configuration>
   <system.webServer>
      <urlCompression doStaticCompression="false" doDynamicCompression="false" />
   </system.webServer>
</configuration>

これは明らかに、可能であればサーバーとローカル環境の違いを比較することにより、さらに調査する必要があるハック ソリューションです。また、サーバーがすべての最新ライブラリで更新されていない可能性も十分にあり、そうすることで解決する可能性もあります。

免責事項:これは実際には100%防弾の答えではないことを認識していますが、OPはコメントでそれがうまくいったことを示唆しています。私は昨日、この質問とそれに対する可能な回答を DMZ に投稿し、誰かがより良い回答を知っているかどうかを尋ね、これらの問題がIT セキュリティウィザードによってすぐに認識されることを知っていましたが、聖パトリックの日は過ぎたようですその通行料:)

乾杯!

于 2013-03-18T19:52:58.617 に答える