0

私はaspクラシックアプリケーションに非常に慣れていません。以下のコード スニペットは、Windows Server 2008RC移行するaspクラシック アプリケーションからのものです。

1.Set objConfig_Constantsinc = Server.CreateObject("Notion.Configuration")
2.Dim account
3.account = objConfig_Constantsinc.GetConfig("SQLAccount")

行番号 1での私の理解によると、COM クラスのインスタンスを作成しています。このインスタンスを使用して3 行目で、いくつかの構成データ "SQLAccount" を取得しようとしています。ここに私の疑問があります。従来の ASP アプリケーションでは、これらの種類の構成文字列をどこに格納していますか (例: "SQLAccount")。グローバル構成ファイルの概念はありますか。よろしくお願いします。

4

1 に答える 1

0

コメントと自分で述べたように、Notion.Configuration アイテムはある種の com オブジェクトです。これを新しいサーバーに移植する場合、実際には問題はありません (基礎となるストレージ メカニズム、つまり com オブジェクトを移植すると仮定します)。変数をどこにでも保存できます(例:SQL、レジストリ、ファイル)

なんらかの理由で、構成データを格納するための com オブジェクトを廃止したい場合 (つまり、グローバル構成ファイルの存在に関する質問)、Classic ASP にはこれを行うためのメカニズムがあります。

具体的には、global.asa ファイル (通常は common.asa ファイル) がサイトのルートに配置され、アプリケーション内の任意の asp ファイルから読み取ることができるアプリケーション変数を公開します。

詳細: http://msdn.microsoft.com/en-us/library/ms525316(v=vs.90).aspx

アプリケーション レベルのグローバルを宣言するのは簡単です。

global.asa の例:

<script language="VBScript" runat="Server">
Sub Application_OnStart
    Application("SQLAccount") = "whatver"
End Sub

他の ASP ページの例:

response.write Application("SQLAccount")

ただし、不要なグローバル変数を宣言することは逆効果であることを思い出してください。混乱やメモリ内のアイテムの重複を避けるために、グローバルレベルで公開するものを慎重に選択する必要があります。

于 2012-06-26T10:58:10.403 に答える