- - PR -
自動で関数を実行したい
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-03 22:51
お世話になっております。sandayuと申します。
ASP.NET(C#) + SqlServerで開発を行っております。 各画面に対して毎回ログインチェック関数を自動で実行する方法はなにかないでしょうか? 処理の流れとして ログイン画面→ログイン→セッションにIDとパス格納→各画面で毎回DBにたいしてログインチェックを行い、ログインに失敗した場合エラー画面へ転送 ログインしないで直接アクセスしてきた場合も同様です。 全ページのPage_Load()に呼び出しの関数を入れればいいのですが なるべくしないで自動処理させたいとおもっております。 どなたかご存知のかたいましたらアドバイスよろしくお願いいたします。 | ||||||||
|
投稿日時: 2005-02-04 00:36
NAL-6295です。
僕の場合ですが・・・ 1.WebFormにはロジックを持たずに外に操作用の抽象クラスを作成します。 2.各ページに共通のロジックは抽象クラスに実装し、各ページ毎に異なるロジックはその抽象クラスを継承したクラスを作成し、そちらに実装します。 3.WebFormのForm_Loadで自分のページの操作用クラスを生成し、自分自身のインスタンスを渡します。 上記の事を行うことで、各WebForm毎の共通部分が重複する事は無くなります。 もちろんイベント関係の処理もすべて操作クラス側で行います。 実際には、楽にするために、もっといろいろとやっているのですが、大まかにはこんな感じです。 たぶん、sandayuさんの要望通りの事が可能になるかと思います。 | ||||||||
|
投稿日時: 2005-02-04 08:40
CustomBasePageクラスを作成したらどうでしょうか。
CustomBasePageを適用するには public class WebForm1 : System.Web.UI.Page を↓に書き換えます。 public class WebForm1 : CustomBasePage 将来、すべてのWebページに機能を追加したいときは、CustomBasePageを変更 するだけでOKです。保守が非常に簡単です。 http://aspalliance.com/63 から引用しました。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||||||
|
投稿日時: 2005-02-04 10:36
NAL-6295さん、Accessさん返信ありがとうございます。
>1.WebFormにはロジックを持たずに外に操作用の抽象クラスを作成します。 >2.各ページに共通のロジックは抽象クラスに実装し、各ページ毎に異なるロジックはその抽>象クラスを継承したクラスを作成し、そちらに実装します。 >3.WebFormのForm_Loadで自分のページの操作用クラスを生成し、自分自身のインスタンスを渡します。 >public class WebForm1 : System.Web.UI.Page >を↓に書き換えます。 >public class WebForm1 : CustomBasePage なるほど、中間にクラスをはさんで実行しているのですね、 CustomBasePageのOnInitが対応しやすいようなので こちらのほうで試してみたいと思います。 ありがとうございました。 | ||||||||
|
投稿日時: 2005-02-04 13:31
すでに解決済みですが。
毎回処理を行うのであれば、HttpModule や Global.asa にイベントを定義するって方法もあります。 参考URL [ASP.NET]アプリケーション共通のロギングを行うには?(HTTPモジュール編) | ||||||||
1
