2008-09-25 20 views

答えて

3

セッションとアプリケーションの初期化コードが非常に小さく、アプリケーション固有の場合は、使いやすいです。 URLの書き換え、リダイレクト、または認証のルールの設定など、コードを再利用する場合は、HttpModuleを使用すると便利です。 HttpModuleは、Global.asaxファイルのすべてをカバーすることができます。また、.configファイルを使用して簡単に削除して追加することもできます。

3

私は以前、アプリケーションレベルでエラーをキャッチし、ユーザーのセッションの有効期限が切れたときに何かを行うために使用しました。

また、web.configから値を読み取る静的プロパティを提供するために多く使用する傾向があります。

私はそれ以上のことはしませんが、そのようなものは大丈夫だと思います。

0

Global.asaxは、httpapplicationを継承する独自のクラスから継承できます。より多くのオプションを提供するだけでなく、大量のコードをクラスライブラリに入れることもできます。

EDIT:HttpApplicationクラス(global.asax parent)を別のクラスライブラリに置くと、再利用性も向上します。私はHttpModulesの使用が多くのタスクに適していることに同意しますが、これはまだ、よりクリーンなコードのために多くの用途があります。

0

Global.asaxは実際に使用していません。私はそれを古典的なASPでは常に使用していましたが、それは主にデータベース接続文字列などの特定の設定と関係していました。 .netの設定は、これらの多くのことをもっと簡単にします。

しかし、アプリケーションとセッションレベルのイベントを実装する場合は、これが必要です。

1

セッションの開始を取得し、開始をリクエストするのも良い点です。 nonasp.netスレッド(例えば、スレッドプールやカスタムスレッド)から送出された例外は、global.asaxハンドラをバイパスするので注意してください。個人的に私はいつも1つしか持っていませんが、私はそれを単に配管の一部と考えています。

2
  • ASP.NET MVCを初期化しています。 :)
  • カスタムユーザー認証。
  • HttpApplicationを拡張するような依存性注入。
1

エラー処理などのためにGlobal.asaxを使用していましたが、これを置き換えるためにHttpModulesを使用して以来、global.asaxを編集せずに別のプロジェクトにコピーすることができます。

2

それは硬い飲み物で、あまり飲まないように注意してください。大丈夫です。

グローバルエラー処理とmvcでのルート設定に使用します。あなたはそこにグローバルなpage_initコードを書くことは望ましくありません。

アプリケーションレベルのイベントに固執し、それらのイベント中に呼び出されるクラスに実際にロジックのほとんどを実際に置くようにすると、グローバル構造を使用する上で問題はありません。

1

Global.asaxをHttpModuleと比較すると、特定のアプリケーションにあまりにも拘束されるため、再利用するのは難しいコードを書くことになります。

0

Global.asaxのSession_Startイベントは、セッション変数を初期化するのにうってつけの良い場所です。

関連する問題