1

ディスク上の XML ファイルを編集するために使用する内部アプリがあります。XML ファイルは、ApplicationState に格納されているオブジェクト モデルに読み込まれます。

このデータを保存する必要があります。1 つのオプションは、ユーザーがデータを変更するたびにこれを行うことです。ただし、これは少し効率が悪いように思えます。変更が行われるたびにデータをディスクに書き出します。

代わりに、ユーザーがブラウザーを閉じるたびに、さらに Web サーバーが終了する直前に通知を受け取ることは可能ですか? したがって、データはセッションが終了するたびに保存され、さらにコンピューターがシャットダウンしたときなどに保存されます。Global.asax の Application_End()、Application_Error()、Session_End() でこれが提供されると思いましたが、これらのメソッドでは提供されません。呼ばれているようです。

4

1 に答える 1

0

Session_End を呼び出す必要があります。

実行している IIS のバージョン、または Visual Studio 開発サーバーでホストしている IIS のバージョンは?

Session_End を起動させる手順:

  1. VS 2008 で新しい Web サイトを作成する

  2. web.config を編集します。

    <sessionState mode="InProc" cookieless="true" timeout="1"/>に追加<system.web>

  3. 以下に示すコードを含む Global.asax ファイルを追加します。

    void Session_End(object sender, EventArgs e)

    {

    Console.WriteLine( "Session_End" );

    }

  4. 呼び出しにブレークポイントを設定しConsole.WriteLineます。

  5. F5 キーを押して、IE または Firefox でページの読み込みを確認します。

  6. 1分ほど待ちます。

  7. ブレークポイントは、IDE で赤で強調表示されます。

于 2009-10-20T17:45:24.870 に答える