プロが教えるわが家の防犯対策術!

IIS5.0 VbScriptで開発を行っています。

自作したCOMアプリケーションをすべてのページで使用したいと考えているため、インクルードファイル内に、Server.CreateObjectによる自作dllオブジェクトの生成を行うコードを記述し、そのファイルをすべてのページにインクルードしようと考えています。

二つのブラウザを立ち上げ、それぞれで複数のページ遷移したところ、大きなメモリの上昇がみられず、上昇してもすぐに下降するため実用にたえると考えています。

それ以外になにか気になるがございましたらお教えください。

A 回答 (2件)

こんにちは。



>自作した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」オブジェクトが使われなくなった時、自動的に破棄してくれます。
    • good
    • 0

作成したクラスのインスタンスが各ページごとに別々のものである必要があるか、共通のものである必要があるかによると思います。


それは、COMの作り方によりますが、自作クラスの中にデータを保存している場合(変数に保存しているデータ)、そのデータをそのページだけで使用するか、各ページ共有で使用するかによります。
各ページ独立でなければならない場合、各ページでCreateObjectが必要になりますし、各ページ共通でなければならない場合、#1の方の方法が良いと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!