- PR -

Webアプリで各画面の共通処理の実装方法について

1
投稿者投稿内容
るーく
会議室デビュー日: 2002/02/22
投稿数: 4
投稿日時: 2002-11-30 00:26
お世話になっております。

ASP.NETを使用して、Webアプリケーションを作成してみたいと思っています。
画面(aspxファイル)をいくつか作成することになると思うのですが、
各画面をロード(Form_Load)する度に毎回共通の処理を行いたい場合には、
どういった実装方法があり得るものでしょうか?

スクリプト言語ではないので、ASP(VBScript)のようにincludeと言う訳には
いかないですよね。

この共通の処理の内部ではApplicationやSession上のオブジェクトにも
アクセスしたいのですが、共通クラス(csファイル,vbファイル)を作成した場合には、
ApplicationやSession上のオブジェクトにはアクセスできないのでしょうか?
べーちゃん
大ベテラン
会議室デビュー日: 2002/07/21
投稿数: 121
投稿日時: 2002-11-30 07:17
VB.NETに限定して言うと、Publicなモジュールを作成して、
そのモジュール内に共通するルーチンをいれて画面ロード時に
Page_Loadで呼び出すという手が使えるでしょう。


>この共通の処理の内部ではApplicationやSession上のオブジェクトにも
>アクセスしたいのですが、共通クラス(csファイル,vbファイル)を作成した場合には、
>ApplicationやSession上のオブジェクトにはアクセスできないのでしょうか?

これは私もいろいろ試したんですが、現時点では実現できていないため、
ApplicationやSessionオブジェクト内で使用する変数などを結局引数に
入れて渡している状態です。
yasu
会議室デビュー日: 2002/10/15
投稿数: 7
お住まい・勤務地: 大阪府
投稿日時: 2002-11-30 14:49
ふと思いついたので、投稿します。
それは「ApplicationやSessionそのものを引数で渡す」です。
コード(C#)にするとこんな感じでしょうか?
コード:
public void PublicFunc(
	System.Web.HttpApplicationState MyApplication,
	System.Web.SessionState.HttpSessionState MySession)
{
	// ここでMyApplicationとMySessionを利用して
	// ApplicationやSessionの各オブジェクトを利用
}


※呼び出すのは「PublicFunc(this.Application, this.Session);」とします。
とも
会議室デビュー日: 2002/09/19
投稿数: 4
投稿日時: 2002-11-30 17:29
Web.UI.Pageを継承したクラス(PageBaseとでもしましょうか。)に
Session等にアクセスする関数を実装し、PageBaseを継承した形で
各ページを作成するのは如何でしょうか?

せっかく継承が使えるのだから、使わにゃ損損ってことで;

るーく
会議室デビュー日: 2002/02/22
投稿数: 4
投稿日時: 2002-11-30 17:35
引用:

ともさんの書き込み (2002-11-30 17:29) より:
Web.UI.Pageを継承したクラス(PageBaseとでもしましょうか。)に
Session等にアクセスする関数を実装し、PageBaseを継承した形で
各ページを作成するのは如何でしょうか?

せっかく継承が使えるのだから、使わにゃ損損ってことで;



ともさんのおっしゃるように、せっかくASPではなくASP.NETなわけで
オブジェクト指向なのだからWeb.UI.Pageを継承させたクラスを作成するのが
良さそうですね。

みなさま、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)