4

まず、私は JavaScript と JQuery を初めて使用するので、これが初心者の質問でないことを願っています。

私が取り組んでいるプロジェクトは MVC3 アプリケーションです。次のようにAJAX呼び出しを行っていますが、すべて正常に機能します。

$.ajax({
  url: 'blah',
  data: {data1: '', data2: ''},
  dataType: 'json',
  success: function(val){

  },
  error: function(message){
    alert("Error!");
  }

私の問題は、ユーザーの操作なしで画面が長時間開いたままになっていると、ajax 呼び出しが発生せず、エラーが発生することです。C# コードのコントローラー関数にブレーク ポイントを設定しました。コントローラー関数は呼び出され、長時間非アクティブな状態が続いてもヒットすることはありません。

繰り返しますが、正常に動作しますが、長時間 (30 分以上) 使用しないと壊れます。これは特殊なケースですが、まだ問題があります。

ありがとう!

4

1 に答える 1

0

セッションを 30 分以上離れると、セッションがタイムアウトした可能性が非常に高くなります。できることは 2 つあります (他にもやるべきことがたくさんあると思います!)

  1. web.config ファイルでセッション タイムアウトを変更できます。

    < sessionState ........タイムアウト="分"................................/>

注:この構成で時間をかけすぎて、訪問回数が多すぎると、Web サーバーでメモリの問題が発生する可能性があります。

  1. この属性を使用して、コントローラーでアクションを装飾できます。

    [匿名を許可]

注: AllowAnonymousAttribute は、MVC 4 以降のバージョンで機能します。以前のバージョンで実装したい場合。最後に、これによりアプリケーションにセキュリティ上の問題が発生する可能性があります。

これが役立つことを願っています!

于 2013-02-12T05:02:48.743 に答える