2016-06-20 13 views
3

先週、突然本当に変わった動作をしたMVC5/Razorアプリケーションがあります。これは、Windows Server 2008 R2(IIS 7.5)でホストされ、先週のWindowsアップデートのインストール後に問題が開始されました。それまでアプリケーションは正常に動作していました。MVC5申請書提出時に複数の投稿要求が発生する

ユーザーが10個のテキストフィールド、4個のテキストエリア、およびドロップダウンリストからなる単純なフォームを送信すると、サーバーが適切に応答せず、結果として「Error_Connection_Reset」(Chrome)/「ページ」利用できません "(IE11)。

通常、302応答とリダイレクトになるコントローラの受信動作では、RedirectToActionのPOSTリダイレクトGETパターンを使用します。

形式は次のようにレンダリングされます:

  • [HttpPost]
  • [ValidateAntiForgeryToken]
  • [AllowAnonymous]
  • [ValidateInput(false)]
  • @using (Html.BeginForm("Create", "Controller")) 
    { 
        @Html.AntiForgeryToken() 
        <div class="editor-fields"> 
         @Html.EditorFor(m => m.Model) 
        </div> 
    
        <div class="clear-fix"></div> 
        <div class="submit-area"> 
         <input type="submit" value="Submit" /> 
        </div> 
    } 
    

    アクションは、これらの属性を持っています

GoogleアナリティクスとjQuery、jQueryの検証、控えめなajaxと最適化(縮小)も使用します。ほとんどのJSスクリプトはScripts.Renderに含まれています。

私たち自身のドメインからアクセスするとアプリケーションはうまく動作しますが、すべてのユーザーが外部からアクセスする必要があるため、このエラーを修正する必要があります。これはDNSの問題を示唆するかもしれませんが、私たちのITサポートはDNSがうまく見えており、最近変更されていないと言います。 inetpub\logs\LogFiles

  • ログファイルには、すべてのステータスコード302が、無次GETリクエストと複数(3〜10)POSTリクエストを示しています。ここでは

    は、我々が行われ、これまでに出て見つけたものですそして、実際には1つだけのPOSTリクエストとGETリクエストが必要です。

  • ログファイルは%windir%\System32\LogFiles\HTTPERRで、Webサイトがアイドルタイムアウト値(デフォルトの20分)に達するたびに、何も表示されず、Timer_ConnectionIdleというエラーが表示されます。
  • ChromeとIE11でFiddlerとdevツールで検査されたリクエストとすべてが同じリクエストヘッダーを示しています。フィドラーでは[Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytesが得られます。 Chrome Dev Toolsでは、ステータス列に(failed)と表示されます。
  • IISでキャッシングと圧縮が無効になっています。 web.configファイルで
  • web.configファイルでのcustomErrorsをオフにし
  • 追加<modules runAllManagedModulesForAllRequests="true">
  • は、.NET 4.5に関するWindows Updateから、最近インストールされた更新プログラムをチェックグーグルを検索し、SOの答えのためにこれまでのところ無駄に。2および関連サポート技術情報の記事が、本当にこの問題に関連したように見えたが
  • 編集述べた何も:はまた、私たちは失敗した要求トレースを有効にしますが、我々は唯一のinetpub\logs\FailedReqLogFilesフォルダ
で不足しているfavicon.icoを要求ログを失敗しますが

面白いことに、Chrome Dev Toolsで[キャッシュを無効にする]チェックボックスをオンにすると、アプリケーションも正常に動作します。これはキャッシュ問題であり、IISで出力キャッシュをオンにした理由でもあります。

次のステップでは、新しいサーバー(Windows 2012およびIISの最新バージョン)を起動し、そこでアプリケーションをインストールします。または現在のサーバーにWireSharkをインストールして、要求をさらに調査します。しかし、誰かがこの行動を経験し、それに対する修正を知っていれば、今はただ修正するだけです。だから、助けてくれれば助けてください。

答えて

0

ドメイン外のユーザーに問題が発生したように見えるため、この問題がファイアウォールに関連する可能性があると考え始めたので、ファイアウォールプロバイダに問い合わせて、最新バージョンのファイアウォールソフトウェア。それが起こったとき、ファイアウォールソフトウェアはWindows Updateがサーバーにインストールされたのと同じ日に更新され、恐らく少し混乱が生じました。ファイアウォールソフトウェアの以前のバージョンに戻った後、問題は消えて、すべてが期待通りに機能しています。ピー!

関連する問題