
IIS5.0 VbScriptで開発を行っています。
自作したCOMアプリケーションをすべてのページで使用したいと考えているため、インクルードファイル内に、Server.CreateObjectによる自作dllオブジェクトの生成を行うコードを記述し、そのファイルをすべてのページにインクルードしようと考えています。
二つのブラウザを立ち上げ、それぞれで複数のページ遷移したところ、大きなメモリの上昇がみられず、上昇してもすぐに下降するため実用にたえると考えています。
それ以外になにか気になるがございましたらお教えください。
No.1ベストアンサー
- 回答日時:
こんにちは。
>自作したCOMアプリケーションをすべてのページで使用し>たいと考えているため、インクルードファイル内に、>Server.CreateObjectによる自作dllオブジェクトの生成を行うコードを記述し、そのファイルをすべてのページにインクルードしようと考えています。
上記を以下のようにglobal.asaファイルを使って簡略化できます。
例:"a"というCOMアプリの"b"というコンポーネントの場合
@global.asaの内容
<OBJECT RUNAT=SERVER SCOPE=Application ID=変数名 PROGID="a.b">
</OBJECT>
例:変数名を"c"とした場合
@x.aspの内容
<%
c.メソッド名 [パラメータ...]
%>
という感じです。
要はasp毎にServer.CreateObjectを記述せずに済む(インクルードを含めて)というだけですが・・・
ただ、ASPは「c」オブジェクトが使われなくなった時、自動的に破棄してくれます。
No.2
- 回答日時:
作成したクラスのインスタンスが各ページごとに別々のものである必要があるか、共通のものである必要があるかによると思います。
それは、COMの作り方によりますが、自作クラスの中にデータを保存している場合(変数に保存しているデータ)、そのデータをそのページだけで使用するか、各ページ共有で使用するかによります。
各ページ独立でなければならない場合、各ページでCreateObjectが必要になりますし、各ページ共通でなければならない場合、#1の方の方法が良いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンストラクタ内でのthisポインタ
-
C# panel内のコントロールの使...
-
(UWSC) 「#32770」の意味わかり...
-
継承を重ねた場合のコストはど...
-
既定のコンストラクタがない?
-
【C++】vectorについて
-
excel vba グラフ データラベル...
-
MFCのCListCtrlでスクロールを検出
-
FriendとPublicの違い。。。
-
C++のMFCを使っています。
-
C#で通常のbuttonコントロール...
-
MessageBoxを継承したい
-
DataContextについて
-
OnPaintとOnDraw関数の違いにつ...
-
Visual C++ 6.0 でクラス表示が...
-
MFCのドラッグ&ドロップについて
-
C# 別プロジェクトのフォームを...
-
C++では構造体がメンバ関数をも...
-
スプラッシュコントロールの挿...
-
DataGridViewのセルに斜線を引...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# panel内のコントロールの使...
-
【VC++6.0(MFC)】「Out of memo...
-
メモリ解放について、ご教授く...
-
関数で値渡しと参照渡しではど...
-
オブジェクトをどこでdisposeす...
-
メモリリークが発生するのはど...
-
オブジェクト型の変数が定義さ...
-
コンストラクタ内でのthisポインタ
-
クラス内にWin32APIのコールバ...
-
子クラスのオブジェクトに親ク...
-
C#でのコンパイル時のエラー
-
delete演算子によるメモリ解放...
-
DataGridViewがクラッシュする
-
Visual studio c# android オブ...
-
最小化したフォームを元に戻す
-
ボタンを押すとラベルの文字を...
-
すべてのページにServer.Create...
-
UMLでの「オブジェクト」と「イ...
-
既定のコンストラクタがない?
-
ダイアログ表示時にチェックボ...
おすすめ情報