LCID

(PWS4 IIS4 IIS5)
LCID — ロケール識別子です。

Session.LCID( = LCID )

パラメータ
LCID 有効なロケール識別子です。

説明

LCID はロケール識別子を指定します。ロケール識別子は、各国を数字で表す標準の省略形で、システム定義のロケールの 1 つを一意に識別します。LCID が @LCID ディレクティブを使用して設定されている場合、Session.LCID はディレクティブで設定された値を上書きします。

例1.LCIDの例

次の例は、ロケールを イギリス英語に設定し、VBScript FormatCurrency メソッドを使用して、値 125 を通貨として £ 記号を付けて表示します。

1
2
3
4
5
6
<%
  Session.LCID = 2057
  Dim curNumb
  curNumb = FormatCurrency(125)
  Response.Write (curNumb)
%>

CodePage

(PWS4 IIS4 IIS5)
CodePage — 記号のマッピングに使われるコード ページです。

Session.CodePage (= Codepage )

パラメータ
Codepage ASP スクリプト エンジンを実行しているシステムで有効なコード ページを表す符合なし整数です。

説明

CodePage プロパティは、動的コンテンツを表示するときに使用するコード ページを決定します。

コードページは、数字、区切り記号、およびその他の記号を含む文字セットです。言語およびロケールが異なると、異なるコードページが使用されることがあります。たとえば、アメリカ英語とほとんどのヨーロッパ言語では、ANSI コード ページ 1252 が使用されます。日本語漢字では OEM コードページ 932 が使用されます。

コード ページは、文字とシングルバイトの値またはマルチバイトの値とを対応付けた表によって表すことができます。ほとんどのコード ページでは、0x00 ~ 0x7F の範囲の文字に対して ASCII 文字セットを共有しています。


StaticObjects

(PWS4 IIS4 IIS5)
StaticObjects — Applicationオブジェクトを保持

Application.StaticObjects
( Key )

パラメータ
Key 変数名/インデックス(取得するプロパティです。)

説明

StaticObjects コレクションには、セッション オブジェクトのスコープ内で タグを使用して作成されたすべてのオブジェクトが含まれます。StaticObjects コレクションを使用すると、オブジェクトの特定のプロパティの値を調べたり、コレクションに対して繰り返し処理を行って、すべてのオブジェクトのプロパティを取得したりすることができます。

例1.StaticObjectsの例

1
2
3
4
5
6
7
8
9
10
11
12
<%
  Dim
 objProp  For Each objProp in Session.StaticObjects
    If IsObject(Session.StaticObjects(objProp)) Then
      Response.write(objProp & " : Session object cannot be displayed."&_
      "<br />")
    Else
    Response.write(objprop & " : " & Session.StaticObjects(objprop) &_
    "<br />")
    End if
  Next
%>

ループ制御構造を使用すると、StaticObjects コレクションのすべての要素を対象として繰り返し処理を行うことができます。


Contents

(PWS4 IIS4 IIS5)
Contents — スクリプト コマンドによってセッションに追加された項目が含まれます。

Session.Contents( Key )

パラメータ
Key 取得するプロパティの名前です。

説明

Session.Contents コレクションには、あるセッションで タグを使用せずに確立された項目すべてが含まれます。Session.Contents コレクションを使用すると、セッションの特定の項目の値を調べたり、コレクションに対して繰り返し処理を行って、セッションのすべての項目の一覧を取得したりすることができます。

ループ制御構造を使用すると、Contents コレクションのすべての要素を対象として繰り返し処理を行うことができます。このスクリプト例を次に示します。

例1.Contentsの例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<%@ LANGUAGE="VBSCRIPT" %>
<%
  Dim sessitem
  Dim anArray(2)
  response.write "SessionID: " & Session.SessionID & "<p>"

  anArray(0)="one"
  anArray(1)="second"
  anArray(2)="third"
  Session("anArray")=anArray
  Session("scalar")="1234567890ABCDEFG"

  set objConn=server.createobject("adodb.connection")
  set Session("object")=objConn

  response.write "List of " & Session.Contents.Count & " items in Session " & _
  "contents collection:<hr />"
  For Each sessitem in Session.Contents
    If IsObject(Session.Contents(sessitem)) Then
      Response.write(sessitem & " : Session object cannot be displayed." & "<br />")
    Else
      If IsArray(Session.Contents(sessitem)) Then
         Response.write "Array named " & Session.Contents(sessitem) & "<ol>"
         For each objArray in Session.Contents(sessitem)
             Response.write "<li>" & _
             Session.Contents(sessitem)(objArray)& "<br />"
         Next
             Response.write "</ol>"
      Else
             Response.write(sessitem & " : " & Session.Contents(sessitem) & "<br />")
       End If
    End If
  Next
%>

Application オブジェクト も参照ください。


Sessionオブジェクト

Session オブジェクトは、特定のユーザー セッションで必要になる情報を格納します。Session オブジェクトに格納されている変数は、ユーザーがアプリケーションのページ間を移動している間は破棄されず、ユーザー セッション全体を通じて変化しません。

セッションをまだ持っていないユーザーがアプリケーションの Web ページを要求すると、Web サーバーは Session オブジェクトを自動的に作成します。セッションがタイムアウトになるか、または破棄されると、サーバーは Session オブジェクトを破棄します。

通常、Session オブジェクトは、ユーザーの基本設定を格納するために使用します。たとえば、ユーザーがグラフィックスを表示しないように設定している場合、その情報を Session オブジェクトに格納することができます。

注 セッションの状態が維持されるのは、cookie をサポートしているブラウザの場合だけです。

* Contents
* StaticObjects
* CodePage
* LCID
* SessionID
* Timeout
* Abandon
* Remove
* RemoveAll
* Session_OnEnd
* Session_OnStart


URLEncode

(PWS4 IIS4 IIS5)
URLEncode — エスケープ文字を含む URL エンコード規則を文字列に適用します。

Server.URLEncode( string )

パラメータ
string エンコードする文字列を指定します。

説明

URLEncode メソッドは、指定された文字列に対し、エスケープ文字を含む URL エンコード規則を適用します。

例1.URLEncodeの例

次のスクリプトを記述したとします。

1
<%Response.Write(Server.URLEncode("http://www.microsoft.com")) %>

上の例からは、次の出力が得られます。

http%3A%2F%2Fwww%2Emicrosoft%2Ecom

HTMLEncode も参照ください。


Transfer

(IIS5)
Transfer — 処理を行う別の .asp ファイルに、現在の状態情報をすべて送信します。

Server.Transfer( Path )

パラメータ
Path 制御の転送先の .asp ファイルの場所です。

説明

Transfer メソッドは、ある .asp ファイルで処理するためにアセンブルされたすべての情報を、別の .asp ファイルに送信します。

Server.Transfer を呼び出すと、組み込みオブジェクトの状態の情報すべてが転送されます。つまり、セッションまたはアプリケーションスコープで、値に割り当てられた変数やオブジェクトは保持されます。さらに、要求コレクションの現在のコンテンツはすべて転送先の .asp ファイルで利用できます。

入力パラメータで指定したパスが別のアプリケーションの .asp ファイルへのパスである場合、.asp ファイルは、Server.Transfer コマンドを含むアプリケーション内にあるかのように実行します。つまり、アプリケーションのほかの .asp ファイルやアプリケーションの Global.asa ファイルによってアプリケーションスコープを与えられた変数およびオブジェクトはすべて、呼出し先の .asp ファイルでも利用できます。

次の例は、ある .asp ファイルから別の .asp ファイルへの転送、およびセッション識別子のクライアントへの送信を示します。
これらのスクリプトの出力は次のようになります。
A session ID
I am going to ASP2
The same session ID

例1.Transferの例

1
2
3
4
5
6
7
<html><body>
<%  Dim sessvar1
  Response.Write Session.SessionID
  Response.Write ("<br />")
  Response.Write("I am going to ASP2 <br />")
  Server.Transfer("/Myasps/ASP2.asp")
%>

Execute、Application オブジェクト も参照ください。


MapPath

(PWS4 IIS4 IIS5)
MapPath — 指定された仮想パス (現在のサーバー上の絶対パス、または現在のページからの相対パス) を物理パスにマップします。

Server.MapPath( Path )

パラメータ
Path 物理ディレクトリにマップする相対パスまたは仮想パスを指定します。path にスラッシュ (/) または円記号 (\) で始まるパスを指定した場合、MapPath メソッドは、path を仮想フルパスであるとみなした場合のパスを返します。path にスラッシュまたは円記号以外の文字で始まるパスを指定した場合、MapPath メソッドは、処理中の .asp ファイルのディレクトリからの相対パスを返します。

説明

MapPath メソッドは、指定された相対パスや仮想パスを、サーバー上の対応する物理ディレクトリにマップします。

MapPath メソッドでは、返されるパスが有効であるかどうか、またサーバー上に存在するかどうかはチェックされません。
MapPath メソッドは、指定されたディレクトリが現在存在しているかどうかにかかわらず、パスをマップします。このため、MapPath メソッドを使用してパスを物理ディレクトリ構造にマップしてから、指定されたディレクトリやファイルをサーバー上に作成するコンポーネントにそのパスを渡すことができます。
AspEnableParentPaths プロパティが TRUE (既定値) に設定されている場合は、Path パラメータに相対パス構文を使用することができます。スクリプトが物理ディレクトリ構造にアクセスするのを許可することに不安がある場合は、 AspEnableParentPaths プロパティを FALSE に設定することで、この機能を無効にすることができます。これは、インターネット インフォメーションサービススナップイン、またはスクリプトのいずれかを使用して行うことができます。

以下のスクリプト例で、ファイル data.txt は C:\Inetpub\Wwwroot\Script というディレクトリにあります。また、次のスクリプトが記述されている test.asp というファイルも同じディレクトリにあります。C:\Inetpub\Wwwroot ディレクトリはサーバーのホームディレクトリとして設定されています。
次の例は、サーバー変数 PATH_INFO を使用して現在のファイルの物理パスをマップします。

例1.MapPathの例

1
<%= server.mappath(Request.ServerVariables("PATH_INFO"))%>

上の例からは、次の出力が得られます。

c:\inetpub\wwwroot\script\test.asp

次の例のパス パラメータはスラッシュまたは円記号で始まっていないため、現在のディレクトリ (ここでは C:\Inetpub\Wwwroot\Script) からの相対パスとしてマップされます。

1
<%= server.mappath("data.txt")%>

上の例からは、次の出力が得られます。

c:\inetpub\wwwroot\script\data.txt

次の例は、スラッシュ (/) または円記号 (\) を使用してホーム ディレクトリの物理パスを返す方法を示しています。

1
<%= server.mappath("/")%>

上の例からは、次の出力が得られます。

c:\inetpub\wwwroot


HTMLEncode

(PWS4 IIS4 IIS5)
HTMLEncode — 指定された文字列に HTML エンコードを適用します。

Server.HTMLEncode( string )

パラメータ
string エンコードする文字列を指定します。

説明

HTMLEncode メソッドは、指定された文字列に HTML エンコードを適用します。

例1.HTMLEncodeの例

次のスクリプトを記述したとします。

1
<%= Server.HTMLEncode("The paragraph tag: <p>") %>

上の例からは、次の出力が得られます。

The paragraph tag: &lt;P&gt;

注 上の出力は Web ブラウザでは次のように表示されます。

The paragraph tag: <P>

ソース表示を選ぶか、またはページをテキスト ファイルとして開くと、エンコードされた HTML を表示することができます。

URLEncode も参照ください。


GetLastError

(IIS5)
GetLastError — エラー状況を説明する ASPError オブジェクトを返します。

Server.GetLastError( )

説明

GetLastError メソッドは、発生したエラー状況を示す ASPError オブジェクト を返します。このメソッドは、.asp ファイルがクライアントにコンテンツを送る前に限り利用できます。

ASP アプリケーション用の 500;100 カスタム エラーが定義されている場合は、.asp ファイルを参照します。この場合、アプリケーション内で .asp ファイルを実行している最中にエラーが発生したときは、サーバーはこの ASP ページを Server.Transfer メソッドを通して自動的に転送します。実行中の ASP アプリケーションから得られる、状態に関するすべての情報は、エラーを処理する .asp ファイルで利用できます。さらに、ASPError オブジェクトも利用できるため、エラー処理の設定に使用する .asp ファイルを通してエラーのプロパティを公開することもできます。

既定の Web サイトは、ファイル \iishelp\common\500-100.asp を使用するように構成されています。このファイルは、ASP エラーの処理、または独自のエラー処理の作成のいずれかに使用できます。500;100 カスタム エラーの処理について .asp ファイルを変更する場合は、インターネット インフォメーション サービススナップインを使用できます。詳細については、「ASP エラー処理を有効にする」を参照してください。

注 500;100 カスタム エラーは、IIS で、.asp ファイルまたはアプリケーションの Global.asa ファイルの処理中にエラーが発生した場合に生成されます。

次の 3 つの例は、500;100 カスタム エラーを生成するエラーを示しています。エラーには、次の 3 種類があります。

* 処理前のエラー
* スクリプト コンパイル時のエラー
* 実行時エラー

最初の例は、処理前のエラーを示しています。これは IIS がファイルをインクルードしようとしたときに発生するエラーです。このエラーは、インクルードステートメントのファイルパラメータが不足しているために発生します。2 つ目の例は、スクリプトコンパイル時のエラーを示しています。スクリプトは、For…Next ループのキーワード “next” が不足しているため、スクリプトエンジンによってコンパイルされません。3 つ目の例は、実行時エラーを示しています。これは、スクリプトで 0 による除算を行おうとしたために発生します。

例1.GetLastErrorの例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!--#include fil=inc.h  -->
<%
  response.write "hello"
%>

<%
  dim I
  for i=1 to 1
  nxt
%>

<%
  dim i,j
  dim sum
  sum=0
  j=0

  for i=1 to 10
    sum=sum+1
  next

  sum=sum/j
%>

ASPErrorオブジェクト も参照ください。