現在のユーザーの変数を設定する関数があります。変数名にはモジュールの名前がプレフィックスとして付けられます。基本的には、アプリケーションのセットアップ方法です。Client はクラス、Server はクラス、Agency はクラスなどです。これは、クライアントまたはクライアントのウェブサイトの 1 つに関する重要な情報を、200 以上のサーバーにわたって、できるだけ少ないクリック数でデータベースからのライブ データを使用して見つけることができるシステムを作成する試みです。
機能は次のとおりです。
public sub setVariable(varName, varValue)
varValue = cstr(varValue)
def = ""
if varValue = "" then def = "1"
response.write vbcrlf & "Variable: " & varName & " : " & varValue & vbcrlf
if not cstr("" & getVariable(varName, def)) = cstr("" & varValue) then
response.write vbcrlf & varName & " : " & varValue & vbcrlf
prepend varName, "Module." & Name & "."
response.write vbcrlf & varName & " : " & varValue & vbcrlf
session(varName) = varValue
Core.RunSproc "SetUserVariable", array("@name", "@value"), array(varName, cstr(varValue)), setVar
end if
end sub
最初に出力される5行目では、変数名として「ID」のみが出力されています。varName = "something" & varName
ただし、2 行後に名前が「Module.<module-name>.ID」に設定されます (たとえば、Module.Server.ID. something + "Module.<module-name>.ID"
. 実際には、この場合、出力します"Module.Server.Module.Server.ID"
. 何かを取り出すと、最初の Module.Server から取り出されますが、2 番目からは取り出されないことに注意してください。サーバーは、5 行目と 7 行目の間で変数名の先頭に追加されていますが、if ステートメントがある唯一の行です。よろしくお願いします。