Oracle® Providers for ASP.NET 開発者ガイド

12cリリース1 (12.1) for Microsoft Windows

B72972-01(原本部品番号:E17733-02)

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- コード例のパスワード

- 表記規則

このリリースの『Oracle Providers for ASP.NET開発者ガイド』での変更点

- Oracle Providers for ASP.NETリリース11.2.0.2での変更点

- Oracle Providers for ASP.NETリリース11.2.0.1.2での変更点

1 Oracle Providers for ASP.NETの概要

- Oracle Providers for ASP.NETの概要

- Oracle Providers for ASP.NETアセンブリ

- システム要件

- Oracle Providers for ASP.NETのインストール

- データベース・サーバーの設定

- 設定に必要なデータベース権限

- すべてのOracle Providers for ASP.NETの構成

- Oracle Providers for ASP.NETの個別構成

- 設定に関する一般情報

- ASP.NETクライアントの設定

- Oracle Providers for ASP.NETのアップグレード

- 複数バージョンのOracle Providers for ASP.NETの共存

- インストール後のファイルの場所

- Oracle Providers for ASP.NETオブジェクト・リファレンス

- 表

- ロール

- ビュー

- OracleMembershipProviderビュー

- OracleRoleProviderビュー

- OracleProfileProviderビュー

- OraclePersonalizationProviderビュー

- OracleSessionStateStoreビュー

- ストアド・プロシージャ

- OracleMembershipProviderストアド・プロシージャ

- OracleRoleProviderストアド・プロシージャ

- OracleProfileProviderストアド・プロシージャ

- OraclePersonalizationProviderストアド・プロシージャ

- OracleWebEventProviderストアド・プロシージャ

- OracleSiteMapProviderストアド・プロシージャ

- OracleSessionStateStoreプロバイダ・ストアド・プロシージャ

- シノニム

2 OracleMembershipProvider

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

- OracleMembershipProviderコンストラクタ

- OracleMembershipProvider()

- OracleMembershipProvider静的メソッド

- OracleMembershipProviderパブリック・プロパティ

- ApplicationName

- CommandTimeout

- EnablePasswordReset

- EnablePasswordRetrieval

- MaxInvalidPasswordAttempts

- MinRequiredNonAlphanumericCharacters

- MinRequiredPasswordLength

- PasswordAttemptWindow

- PasswordCompatMode

- PasswordFormat

- PasswordStrengthRegularExpression

- RequiresQuestionAndAnswer

- RequiresUniqueEmail

- OracleMembershipProviderパブリック・メソッド

- ChangePassword

- ChangePasswordQuestionAndAnswer

- CreateUser

- DeleteUser

- FindUsersByEmail

- FindUsersByName

- GeneratePassword

- GetAllUsers

- GetNumberOfUsersOnline

- GetPassword

- GetUser

- GetUser(Object, bool)

- GetUser(string, bool)

- GetUserNameByEmail

- Initialize

- ResetPassword

- UnlockUser

- UpdateUser

- ValidateUser

- OracleMembershipProviderパブリック・イベント

3 OracleRoleProvider

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

- OracleRoleProviderコンストラクタ

- OracleRoleProvider()

- OracleRoleProvider静的メソッド

- OracleRoleProviderパブリック・プロパティ

- ApplicationName

- CommandTimeout

- OracleRoleProviderパブリック・メソッド

- AddUsersToRoles

- CreateRole

- DeleteRole

- FindUsersInRole

- GetAllRoles

- GetRolesForUser

- GetUsersInRole

- Initialize

- IsUserInRole

- RemoveUsersFromRoles

- RoleExists

4 OracleSiteMapProvider

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

- OracleSiteMapProviderコンストラクタ

- OracleSiteMapProvider()

- OracleSiteMapProvider静的メソッド

- OracleSiteMapProviderパブリック・プロパティ

- ApplicationName

- CommandTimeout

- OracleSiteMapProviderパブリック・メソッド

- BuildSiteMap

- Dispose

- Initialize

5 OracleSessionStateStore

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

- OracleSessionStateStoreコンストラクタ

- OracleSessionStateStore()

- OracleSessionStateStoreパブリック・プロパティ

- CommandTimeout

- OracleSessionStateStoreパブリック・メソッド

- CreateNewStoreData

- CreateUninitializedItem

- Dispose

- EndRequest

- GetItem

- GetItemExclusive

- Initialize

- InitializeRequest

- ReleaseItemExclusive

- RemoveItem

- ResetItemTimeout

- SetAndReleaseItemExclusive

- SetItemExpireCallback

6 OracleProfileProvider

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

- OracleProfileProviderコンストラクタ

- OracleProfileProvider()

- OracleProfileProvider静的メソッド

- OracleProfileProviderパブリック・プロパティ

- ApplicationName

- CommandTimeout

- OracleProfileProviderパブリック・メソッド

- DeleteInactiveProfiles

- DeleteProfiles

- DeleteProfiles(ProfileInfoCollection)

- DeleteProfiles(string[])

- FindInactiveProfilesByUserName

- FindProfilesByUserName

- GetAllInactiveProfiles

- GetAllProfiles

- GetNumberOfInactiveProfiles

- GetPropertyValues

- Initialize

- SetPropertyValues

7 OracleWebEventProvider

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

- OracleWebEventProviderコンストラクタ

- OracleWebEventProvider()

- OracleWebEventProvider静的メソッド

- OracleWebEventProviderパブリック・プロパティ

- CommandTimeout

- OracleWebEventProviderパブリック・メソッド

- Initialize

- ProcessEvent

- ProcessEventFlush

- Shutdown

8 OraclePersonalizationProvider

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

- OraclePersonalizationProviderコンストラクタ

- OraclePersonalizationProvider()

- OraclePersonalizationProvider静的メソッド

- OraclePersonalizationProviderパブリック・プロパティ

- ApplicationName

- CommandTimeout

- OraclePersonalizationProviderパブリック・メソッド

- FindState

- GetCountOfState

- Initialize

- ResetState

- ResetUserState

9 OracleCacheDependencyプロバイダ

- OracleCacheDependencyクラス

- OracleCacheDependencyメンバー

- OracleCacheDependencyコンストラクタ

- OracleCacheDependency(OracleCommand)

- OracleCacheDependencyプロパティ

- OracleCacheDependencyメソッド

- GetUniqueID

索引

Oracle® Providers for ASP.NET

開発者ガイド

12cリリース1 (12.1) for Microsoft Windows

B72972-01(原本部品番号:E17733-02)

2013年5月

Oracle Providers for ASP.NET開発者ガイド, 12cリリース1 (12.1) for Microsoft Windows

B72972-01

Copyright © 2007, 2013, Oracle and/or its affiliates.All rights reserved.

原本著者: Maitreyee Chaliha

原本協力者: Janis Greenberg、Sumit Jeloka、Sheela Vasudevan、Kimnari Akiyama、Neeraj Gupta、Sinclair Hsu、Alex Keh、Ashish Shah、Arun Singh

原本協力者:  Oracle Database 12cのドキュメントを、本リリースに携わった全員にとって創造の源となったMark Townsendに捧げます。

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

はじめに

このドキュメントはOracle Providers for ASP.NETの概要、インストール、インストール後の構成および使用情報に関する重要なソースです。

ここでは、次の項目について説明します。

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- コード例のパスワード

- 表記規則

対象読者

Oracle Providers for ASP.NET開発者ガイドは、ASP.NETプロバイダを使用してOracleデータベースにアプリケーション状態を格納するアプリケーションを開発するプログラマを対象としています。

このガイドを使用するには、Microsoft .NET Frameworkのクラス、ASP.NETおよびADO.NETに精通し、Microsoft C#、Visual Basic .NETまたはその他の.NET言語を使用したアプリケーション・プログラミングに関する実際的な知識を持っている必要があります。

マニュアルに記載されている例とサンプル・ディレクトリにあるとサンプルはC#で記述されていますが、開発者は、他の.NET言語でコードを記述するためのモデルとしてこれらの例を使用できます。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

Oracleサポート・サービスでは、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

詳細は、次のOracleドキュメントを参照してください。

- Oracle Databaseインストレーション・ガイドfor Windows

- Oracle Databaseリリース・ノートfor Windows

- Oracle Databaseプラットフォーム・ガイドfor Windows

- Oracle Database新機能

- Oracle Database概要

- Oracle Databaseリファレンス

- Oracle Data Provider for .NET開発者ガイド

- Oracle Developer Tools for Visual Studioヘルプ

サンプル・コードのパスワード

この製品の例示を単純化するため、サンプル・コードでは、デプロイされたシステムで通常使用されるパスワード管理技術は実行されません。本番環境では、Oracleデータベースのパスワード管理ガイドラインに従い、サンプル・アカウントを無効にしてください。パスワード管理ガイドラインおよびその他のセキュリティに関する推奨事項については、Oracle Databaseセキュリティ・ガイドを参照してください。

表記規則

このガイドでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ドキュメントのタイトル、強調またはユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

このリリースの『Oracle Providers for ASP.NET開発者ガイド』での変更点

この章の内容は次のとおりです。

- Oracle Providers for ASP.NETリリース11.2.0.2での変更点

- Oracle Providers for ASP.NETリリース11.2.0.1.2での変更点

Oracle Providers for ASP.NETリリース11.2.0.2での変更点

リリース11.2.0.2のOracle Providers for ASP.NETでの変更内容は次のとおりです。

新機能

このリリースの新機能は次のとおりです。

- 64ビット版Oracle Providers for ASP.NET XCopy for Windows x64
Oracle Providers for ASP.NET XCopyはWindows x64システムで使用できるようになったため、標準的なクライアントよりサイズが小さいクライアントが提供され、構成も簡単になりました。XCopyでは、カスタマイズされたデプロイメント・パッケージへのASP.NETプロバイダの組込みが簡単になります。

関連項目:
「Oracle Providers for ASP.NETのインストール」のXCopyに関する項を参照してください

Oracle Providers for ASP.NETリリース11.2.0.1.2での変更点

リリース11.2.0.1.2のOracle Providers for ASP.NETでの変更内容は次のとおりです。

新機能

このリリースの新機能は次のとおりです。

- ASP.NET 4サポート
Oracle Providers for ASP.NET 4では、ASP.NET 4がサポートされます。

1 Oracle Providers for ASP.NETの概要

この章では、Oracle Providers for ASP.NETの概要を説明します。

この章の内容は次のとおりです。

- Oracle Providers for ASP.NETの概要

- Oracle Providers for ASP.NETアセンブリ

- システム要件

- Oracle Providers for ASP.NETのインストール

- Oracle Providers for ASP.NETのアップグレード

- インストール後のファイルの場所

- Oracle Providers for ASP.NETオブジェクト・リファレンス

Oracle Providers for ASP.NETの概要

Oracle Providers for ASP.NETは、ASP.NETプロバイダ・モデルに従い、Oracle Databaseをデータ・ソースとして使用するASP.NETプロバイダのコレクションです。

Microsoft ASP.NETには、アプリケーション状態をデータベースまたはその他のストレージ・メディアに格納する多数のサービスおよびプロバイダが含まれています。開発者は、ショッピング・カートやユーザー情報などのアプリケーション状態を永続的なデータ・ソースに格納できます。アプリケーション状態をデータベースに格納することにより、アプリケーションでは、高可用性を保証し、サーバー・ファームのあらゆるWebサーバーからデータへの信頼できるアクセスを確実にします。ASP.NET状態データはデータベースに集中配置されているため、ユーザーは、アクセスするWebファーム・コンピュータにかかわらず、各自のASP.NET状態データを取得できます。ユーザーがアクセスしている特定のWebファーム・コンピュータに障害が発生しても、ASP.NETデータはデータベース内で永続化されているため情報は失われません。ASP.NETサービスは.NET Frameworkを構成するクラスであり、ASP.NET開発者はこれらのASP.NETサービスを通じてWebアプリケーションをビルドするため、生産性が向上します。

これらのASP.NETサービスはデータソースに依存しませんが、特定のデータ・ソースのデータを格納および取得するように明示的に実装されている特定のASP.NETプロバイダを使用するように構成できます。Oracle Providers for ASP.NETは、すべてのASP.NETプロバイダと同様に、ASP.NETプロバイダ・モデルに従って、ASP.NETサービスが必要とするすべての機能を提供します。単純にOracle Providers for ASP.NETを構成ファイルでデフォルトのプロバイダとして構成するだけで、ASP.NETアプリケーションは、様々なタイプのアプリケーション状態をOracleデータベースに格納できます。格納できるアプリケーション状態は、一般にWebアプリケーション間で使用されます。ASP.NET開発者は、自分でゼロから作成するのではなく、これらのプロバイダを使用することができます。

Oracle Providers for ASP.NETは、32ビットと64ビット(x64)の両方のプラットフォームで利用できます。詳細は、「システム要件」を参照してください。

次のプロバイダが用意されています。

- メンバーシップ・プロバイダ

- ロール・プロバイダ

- サイト・マップ・プロバイダ

- セッション状態プロバイダ

- プロファイル・プロバイダ

- Webイベント・プロバイダ

- Webパーツ・パーソナライズ・プロバイダ

- キャッシュ依存性プロバイダ

Oracleが提供する各プロバイダの説明は、次のとおりです。

- Oracle Membership Provider for ASP.NET
Oracle Membership Providerにより、ASP.NETアプリケーションは、Webサイトの登録済ユーザー情報を、ASP.NETメンバーシップ・サービスを通じてOracleデータベースに格納できます。ユーザーの作成、ユーザーの削除、ログイン資格情報の検証、パスワードの変更およびアプリケーション・ユーザーの管理に関連するその他のタスクを実行するためのメソッドを提供します。

関連項目:
ASP.NETのメンバーシップおよびメンバーシップ・プロバイダ: http://msdn.microsoft.com/en-us/library/tw292whz.aspx

- Oracle Role Provider for ASP.NET
Oracle Role Providerにより、ASP.NETアプリケーションは、Webサイト固有のロール情報を、ASP.NETロール・サービスを通じてOracleデータベースに格納し、管理できます。Oracle Role Providerは、ロールの作成、ロールの削除、ロールへのユーザーの追加およびASP.NETアプリケーションで定義されたロールの管理に関連するその他のタスクを実行するためのメソッドを公開します。

関連項目:
ASP.NETのロール管理およびロール・プロバイダ: http://msdn.microsoft.com/en-us/library/9ab2fxh0.aspx

- Oracle Site Map Provider for ASP.NET
Oracle Site Map Providerにより、ASP.NETアプリケーションは、サイト・マップ情報をOracleデータベースに格納できます。Oracle Site Map Providerは、Oracleデータベースからサイト・マップ・データを読み込んで、SiteMapNodeオブジェクトの逆ツリーを構築する他、サイト・マップからノードを取得するためのメソッドを提供します。

関連項目:
ASP.NETのサイト・ナビゲーションおよびサイト・マップ・プロバイダ: http://msdn.microsoft.com/en-us/library/ms227558.aspx

- Oracle Session State Provider for ASP.NET
Oracle Session State Providerにより、ASP.NETアプリケーションは、ASP.NETセッション状態サービスを通じてASP.NETセッション情報をOracleデータベースに格納できます。このプロバイダは、E-Commerceアプリケーションのショッピング・カートなど、ユーザーごとのセッション状態を管理します。

関連項目:
ASP.NETのセッション状態およびセッション状態プロバイダ: http://msdn.microsoft.com/en-us/library/ms178581.aspx

- Oracle Profile Provider for ASP.NET
Oracle Profile Providerにより、ASP.NETアプリケーションは、個々のWebサイト・ユーザーのプロファイル情報をOracleデータベースに格納できます。このプロファイル・プロバイダは、データベースに永続化されているWebサイト・ユーザー・プロファイルのプロパティを書込みおよび読取りできます。

関連項目:
ASP.NETのプロファイル・プロパティおよびプロファイル・プロバイダ: http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx

- Oracle Web Event Provider for ASP.NET
Oracle Web Event Providerにより、ASP.NETアプリケーションは、ASP.NET状態監視システムによって発生したイベントをOracleデータベースに格納できます。プロバイダは、データベースのラウンドトリップを最小化するためのバッファおよびフラッシュ機能を提供します。

関連項目:
ASP.NETの状態監視およびWebイベント・プロバイダ: http://msdn.microsoft.com/en-us/library/ms178701%28VS.80%29.aspx

- Oracle Web Parts Personalization Provider for ASP.NET
Oracle Web Parts Personalization Providerにより、ASP.NETアプリケーションは、ASP.NET Webパーツ・パーソナライズ・サービスを通じてパーソナライズ・データをOracleデータベースに格納できます。

これは、エンド・ユーザーがWebページのコンテンツ、外観および動作をブラウザから直接変更できるWebサイトを作成するためのコントロールの統合セットに接続します。

関連項目:

- ASP.NETのWebパーツ: http://msdn.microsoft.com/en-us/library/e0s9t4ck.aspx

- ASP.NETのWebパーツ・パーソナライズ: http://msdn.microsoft.com/en-us/library/ms178182.aspx

- Oracle Cache Dependency Provider for ASP.NET
Oracle Cache Dependency Providerは、Oracleデータベースで行われた変更に基づく、ASP.NETアプリケーションによってSystem.Web.Caching.Cacheオブジェクトにキャッシュされたデータの自動的な無効化を提供します。このプロバイダにより、ASP.NETアプリケーションはキャッシュされたデータベース・データを使用して、必要な場合にのみデータベースからデータをフェッチできるようになるため、ASP.NETアプリケーションのパフォーマンスが向上します。

関連項目:
データベース変更通知の詳細は、Oracle Data Provider for .NET開発者ガイドを参照してください。

関連項目:
ASP.NETのCacheDependencyクラス: http://msdn.microsoft.com/en-us/library/system.web.caching.cachedependency.aspx

Oracle Providers for ASP.NETアセンブリ

ASP.NET用のOracleプロバイダは、Oracle.Web.dllという1つのアセンブリに含まれるネームスペースにあります。

表1-1に、Oracle.Web.dllの一部であるプロバイダ・タイプ、クラス名およびネームスペースをリストします。

表1-1 Oracle Providers for ASP.NETネームスペースおよびプロバイダ

プロバイダ・タイプ

クラス名

ネームスペース

メンバーシップ

OracleMembershipProviderクラス

Oracle.Web.Security

ロール

OracleRoleProviderクラス

Oracle.Web.Security

サイト・マップ

OracleSiteMapProviderクラス

Oracle.Web.SiteMap

セッション状態

OracleSessionStateStoreクラス

Oracle.Web.SessionState

プロファイル

OracleProfileProviderクラス

Oracle.Web.Profile

Webイベント

OracleWebEventProviderクラス

Oracle.Web.Management

パーソナライズ

OraclePersonalizationProviderクラス

Oracle.Web.Personalization

キャッシュ依存性

OracleCacheDependencyクラス

Oracle.Web.Caching

システム要件

Oracle Providers for ASP.NETには、次のものが必要です。

- Microsoft ASP.NET

- Oracle Providers for ASP.NET 2.0は、ASP.NET for .NET Framework 3.5 Service Pack 1以上でサポートされています。

- Oracle Providers for ASP.NET 4は、ASP.NET for .NET Framework 4以上でサポートされています。

- Windowsオペレーティング・システム

- 32ビット: Windows 7 (Professional、Enterprise、Ultimateの各エディション)、Windows Server 2008 (Standard、Enterprise、Datacenter、Web、Foundationの各エディション)およびWindows 8 (ProおよびEnterpriseの各エディション)。
これらのオペレーティング・システムでは、32ビット版Oracle Providers for ASP.NETがx86、AMD64およびIntel EM64Tプロセッサに対してサポートされています。

- x64: Windows 7 x64 (Professional、EnterpriseおよびUltimateの各エディション)、Windows Server 2008 R2 x64 (Standard、Enterprise、Datacenter、WebおよびFoundationの各エディション)、Windows Server 2008 x64 (Standard、Enterprise、Datacenter、WebおよびFoundationの各エディション)、Windows 8 x64 (ProおよびEnterpriseの各エディション)およびWindows Server 2012 x64 (Standard、Datacenter、EssentialsおよびFoundationの各エディション)。
これらのオペレーティング・システムでは、32ビット版Oracle Providers for ASP.NETおよび64ビット版Oracle Providers for ASP.NET for Windows x64がサポートされています。

- Oracle Database 10gリリース2以上へのアクセス

- Oracle Data Provider for .NET、Unmanaged DriverおよびOracle Client(Oracle Providers for ASP.NETソフトウェアとともにインストールされます)。Oracle Providers for ASP.NETと同じバージョンのODP.NETおよびOracle Clientを使用する必要があります。たとえば、Oracle Providers for ASP.NETバージョン 11.2を使用する場合は、ODP.NETおよびOracle Clientバージョン 11.2を使用する必要があります。

- Oracle Providers for ASP.NET 2.0は、Oracle Data Provider for .NET 2.0に依存します

- Oracle Providers for ASP.NET 4は、Oracle Data Provider for .NET 4に依存します

注意:
Oracle Data Provider for .NET、Managed Driverは、Oracle Providers for ASP.NETをサポートしていません。

Oracle Providers for ASP.NETのインストール

Oracle Providers for ASP.NETは、Oracle Data Access Components(ODAC)の一部であり、OTNからダウンロードできます。Oracle Providers for ASP.NETは、ODAC 11.1.0.6.20から開始し、XCopyまたはOracle Universal Installerを使用してインストールできます。

- XCopy
管理者は、XCopyを使用してOracle Providers for ASP.NETを多数のコンピュータに本番デプロイ用にデプロイします。XCopyは、インストールおよび設定中のフットプリントが小さく、また、ファイングレイン・コントロールがあります。

- Oracle Universal Installer
開発者またはユーザーは、Oracle Universal Installerを使用して自動GUIインストールを行います。Oracle Universal Installerには、XCopyのデプロイに含まれていないドキュメントおよびサンプル・コードが含まれています。

注意:
この項では、Oracle Universal Installerを使用したインストールについて説明します。XCopyによるインストール手順および構成については、インストールに含まれているREADMEファイルを参照してください。

Oracle Providers for ASP.NETのインストール時に、Oracle Universal InstallerによってOracle.Web.dllがGlobal Assembly Cache(GAC)に自動登録されます。

Oracle Providers for ASP.NETのインストールでは、インストール対象コンピュータのmachine.configファイルにエントリが作成されます。これらのエントリは、メンバーシップ、プロファイル、ロール、サイト・マップ、Webパーツ・パーソナライズおよびWebイベントといったOracleの各プロバイダの基本構成情報を提供します。machine.configにはOraAspConStringの空白の接続文字列が含まれており、開発者は、この文字列を構成することでOracle Providers for ASP.NETスキーマを使用してOracleデータベースに接続できます。

関連項目:
詳細は、「ASP.NETクライアントの設定」を参照してください。

また、Oracle Providers for ASP.NET動的ヘルプがVisual Studioに登録され、Visual Studio動的ヘルプとシームレスに統合されるコンテキスト依存のオンライン・ヘルプが提供されます。動的ヘルプを使用すると、ユーザーは、Oracle Providers for ASP.NETのキーワードにカーソルを置き、[F1]ファンクション・キーを押すことで、Visual Studio内でOracle Providers for ASP.NETのマニュアルにアクセスできます。

Oracle Providers for ASP.NETをインストールすると、次の2つの追加設定タスクが必要になります。

- データベース・サーバーの設定

- ASP.NETクライアントの設定

関連項目:
インストール手順については、Oracle Databaseインストレーション・ガイドfor Windowsを参照してください。

データベース・サーバーの設定

次の各項では、プロバイダの構成方法について説明します。

- 設定に必要なデータベース権限

- すべてのOracle Providers for ASP.NETの構成

- Oracle Providers for ASP.NETの個別構成

- 設定に関する一般情報

設定に必要なデータベース権限

Oracleデータベースを設定するには、データベース管理者はOracle Providers for ASP.NETスキーマに次のデータベース権限を付与する必要があります。これらの権限によって、表、ビュー、ストアド・プロシージャおよびOracle Providers for ASP.NETで必要なその他のデータベース・オブジェクトを作成するためのスキーマ権限が付与されます。これらのスクリプトは、ASP.NETプロバイダの状態情報が格納され、ASP.NETプロバイダ自体によってその情報が取得されるデータベースに対して実行する必要があります。これらのSQLスクリプトは、SQL*Plusを使用して実行するか、Oracle Developer Tools for Visual Studio内から実行できます。

Oracle Providers for ASP.NETでは、設定中に次の権限が必要です。

- 通知を変更する

- ジョブを作成する

- プロシージャを作成する

- パブリック・シノニムを作成する

- ロールを作成する

- セッションを作成する

- 表を作成する

- ビューを作成する

- パブリック・シノニムを削除する

- Oracle表領域へのアクセス権を付与し領域を割り当てる

すべてのデータベース権限が、Oracle Providers for ASP.NETのランタイム操作に必要なわけではありません。データベース管理者は、必要に応じて選択的に権限の付与と取消しができます。ランタイム操作では、すべてのプロバイダでスキーマ・ユーザーにCREATE SESSION権限を付与する必要があります。また、実行中は、サイト・マップ・プロバイダとキャッシュ依存性プロバイダに、CHANGE NOTIFICATION権限が必要です。残りの権限は、インストールおよび削除のためにのみスキーマ・ユーザーに付与し、ランタイム操作の際には取り消すことができます。

設定スクリプトの実行中に発生したエラーは、ユーザーに前述の権限を付与する必要があることを示している場合があります。この場合、データベース管理者は、その権限を付与する必要があります。Oracle Database 10g以降のデータベースの場合、Oracle Session State Provider for ASP.NETにはCREATE JOB権限が必要です。

すべてのOracle Providers for ASP.NETの構成

データベース内で一度にすべてのプロバイダを構成するには、InstallAllOracleASPNETProviders.sqlを実行します。このスクリプトは、ORACLE_BASE\\ORACLE_HOME\ASP.NET\sqlディレクトリにあります。

Oracle Providers for ASP.NETの個別構成

アプリケーションですべてのOracle Providers for ASP.NETを必要としない場合があるため、プロバイダは個別に設定することができます。Oracle Session State ProviderおよびOracle Cache Dependency Providerを除き、インストール・スクリプトInstallOracleASPNETCommon.sqlを、その他のインストール・スクリプトの前に実行する必要があります。次に、各Oracle Provider for ASP.NETに対して、そのプロバイダに固有のSQLスクリプトを実行する必要があります(順番は問いません)。

これらのインストール・スクリプトは、ORACLE_BASE\\ORACLE_HOME\ASP.NET\sqlディレクトリにあります。

表1-2 インストール・スクリプト

プロバイダ

必要なインストール・スクリプト

Oracle Membership Provider

InstallOracleMembership.sql

Oracle Personalization Provider

InstallOraclePersonalization.sql

Oracle Profile Provider

InstallOracleProfile.sql

Oracle Role Provider

InstallOracleRoles.sql

Oracle Session State Provider

InstallOracleSessionState.sql

注意: このプロバイダが実行する必要があるのはInstallOracleSessionState.sqlスクリプトのみです。InstallOracleASPNETCommon.sqlを実行する必要はありません。

Oracle Site Map Provider

InstallOracleSiteMap.sql

Oracle Web Events Provider

InstallOracleWebEvents.sql

Oracle Cache Dependency Provider

スクリプトの実行は不要です

設定に関する一般情報

Oracle Providers for ASP.NETのインストール・スクリプトを実行する際には、同じディレクトリにある対応する.plbスクリプトが順に実行されます。.plbスクリプトにより、プロバイダが使用するストアド・プロシージャとストアド・ファンクションが作成されます。インストールの.sqlスクリプトは、.plbファイルにアクセスできる場所で実行する必要があります。

各プロバイダは、インストール・スクリプトから作成されたデータベース・オブジェクトを削除するための対応するアンインストール・スクリプトも提供します。これらのスクリプトには、Uninstallという接頭辞が付いています。

インストールおよびアンインストール・スクリプトは、Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4用と同じです。

ASP.NETクライアントの設定

インストールでは、システム全体でOracle Providers for ASP.NETを使用できるように、machine.configファイルが構成されます。

.NET Framework 2.0および.NET Framework 4の両方が存在する場合、システム全体でOracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4を使用できるように、インストーラでは、これらの両方に対してmachine.configファイルが構成されます。

インストール終了後、開発者は、ASP.NETの状態情報を格納および取得するデータベース・スキーマへの接続情報を指定する必要があります。このステップでは、開発者は必要に応じてUser Id、Password、Data Source、およびその他の接続文字列情報を指定する必要があります。開発者は、次の例に類似したエントリをmachine.configファイルに指定できます。

<connectionStrings>
<add name="OraAspNetConString" connectionString="User Id=aspnet;Password=aspnet;Data Source=oracle; " />
</connectionStrings>

オプションで、開発者はmachine.configの<system.web>セクションに指定された各ASP.NETプロバイダのプロパティをカスタマイズできます。

machine.configはOracle Universal Installerによって自動構成されますが、web.configファイルを使用すれば、開発者はOracle Providers for ASP.NETに対してさらに詳細なアプリケーション・レベルの制御を適用できます。このファイルはmachine.configファイルのエントリより優先されます。開発者は、machine.configファイルと同じXML構文を使用してweb.configファイルを設定できます。

開発者は、標準のASP.NET管理ツールを使用して、Oracle Providers for ASP.NETを構成できます。特に、Internet Information Services管理コンソールを使用できます。コンソールのASP.NET構成設定では、Oracleプロバイダの設定を変更できます。あるいは、Visual StudioのWebサイト・プロジェクトで、「Webサイト」メニュー・アイテムからASP.NET構成を選択することで、特定のWebサイト・プロジェクトに対してこれらの設定ができます。

Oracle Providers for ASP.NETの標準インストールでは、デフォルト値を使用してmachine.configが自動的に設定されますが、管理者はこの設定を変更できます。ユーザーは、OraProvCfgユーティリティを使用して、machine.configファイル内のプロバイダ固有のエントリを次のように構成できます。

注意:
Oracle Providers for ASP.NET 2.0を構成するには、ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\2.xにあるOraProvCfgユーティリティを使用します。
Oracle Providers for ASP.NET 4を構成するには、ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\4にあるOraProvCfgユーティリティを使用します。

- OraProvCfgユーティリティのヘルプを表示するには、次のようにします。

OraProvCfg -help

- Oracle Providers for ASP.NET固有のエントリをmachine.configファイルに追加するには、次のようにします。

OraProvCfg  /action:config  /product:aspnet  /component:all
/frameworkversion:v2.0.50727
/providerpath:c:\Oracle\odp.net\bin\2.x\Oracle.Web.dll

Frameworkバージョンおよびプロバイダのパスは(特に)状況に合せて変更する必要があります。

- Oracle Providers for ASP.NET固有のエントリをmachine.configファイルから削除するには、次のようにします。

OraProvCfg  /action:unconfig  /product:aspnet  /component:all
/frameworkversion:v2.0.50727

Frameworkバージョンは状況に合せて変更する必要があります。

Oracle Providers for ASP.NETのアップグレード

古いインスタンスのOracle Providers for ASP.NETを新しいバージョンにアップグレードする管理者は、Oracle Clientおよびデータベース・スキーマの両方をアップグレードする必要があります。Oracleでは、あるOracle Providers for ASP.NETクライアント・バージョン(たとえば、11.2)を別のOracle Providers for ASP.NETデータベース・スキーマ・バージョン(たとえば、12.1)と一緒に使用することはサポートされていません。スキーマおよびクライアント・プロバイダは、両方とも同じバージョンである必要があります。

次に、クライアントおよびデータベース・スキーマのアップグレードについて説明します。

- Oracle Clientのアップグレード:
最新のOracle Providers for ASP.NETバージョンをインストールする場合、machine.configファイルが自動的に更新され、Webアプリケーションは最新のバージョンを使用するよう示されます。web.configファイルを使用するアプリケーションがある場合、管理者はこのファイルを必ず更新する必要があります。

- データベース・スキーマのアップグレード:
管理者は、新規バージョンのOracle Providers for ASP.NET SQLスクリプトを古いOracle Providers for ASP.NETスキーマが存在する同じスキーマで実行する必要があります。スクリプトは、何も存在しない場合は古いスキーマをアップグレードするか、スキーマを作成するよう設計されています。スキーマは、データが失われないよう既存のOracle Providers for ASP.NETデータを保持します。

データベース・サーバー自体がアップグレードされている場合、管理者は、Oracle Providers for ASP.NETデータでの標準のOracleアップグレード手順を使用できます。データは、アップグレードの実行時に保持されます。暗号化データは暗号化されたままで、アップグレード後に使用可能になります。

複数バージョンのOracle Providers for ASP.NETの共存

複数のASP.NETアプリケーションが1つのWebサーバーまたは1つのOracle Databaseを使用している場合、それらすべてで同じバージョンのOracle Providers for ASP.NETを使用する必要はありません。たとえば、あるアプリケーションでOracle Providers for ASP.NET 12.1を使用し、他のアプリケーションで11.2バージョンを使用できます。各アプリケーションにどのOracle Providers for ASP.NETバージョンを使用するかについては、個々のweb.configファイルを使用して判別されます。

各Oracle Providers for ASP.NETバージョンは、そのバージョン固有のデータベース・スキーマを持つ必要があります。たとえば、すべてのOracle Providers for ASP.NET 11.2アプリケーションは、11.2 SQLスクリプトを使用して作成されたスキーマの少なくとも1つにアクセスできる必要があります。これらの 11.2プロバイダ・アプリケーションは、すべてで1つのスキーマを共有できますが、 12.1スキーマを使用できません。複数のバージョンのOracle Providers for ASP.NETを使用して同じデータベースにアクセスする場合、管理者は各Oracle Providers for ASP.NETバージョンに対して別個のスキーマを作成できます。

インストール後のファイルの場所

Oracle Providers for ASP.NETのファイルは次の場所にインストールされます。

- Oracle.Web.dll(.NET Framework 2.0)
ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\2.xディレクトリ

- Oracle.Web.dll(.NET Framework 4)
ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\4ディレクトリ

- 構成ユーティリティOraProvCfg.exe(.NET Framework 2.0)
ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\2.xディレクトリ。「ASP.NETクライアントの設定」を参照してください。

- 構成ユーティリティOraProvCfg.exe(.NET Framework 4)
ORACLE_BASE\ORACLE_HOME\ASP.NET\Bin\4ディレクトリ。「ASP.NETクライアントの設定」を参照してください。

- 構成(SQL)スクリプト
ORACLE_BASE\\ORACLE_HOME\ASP.NET\SQLディレクトリ。「データベース・サーバーの設定」を参照してください。

- 動的ヘルプ・ファイル
ORACLE_BASE\\ORACLE_HOME\ASP.NET\Helpディレクトリ

- ドキュメント(htmlおよびpdf)ファイルとreadmeファイル
ORACLE_BASE\\ORACLE_HOME\ASP.NET\Docディレクトリ

Oracle Providers for ASP.NETオブジェクト・リファレンス

ユーザーがSQLインストール・スクリプトを実行するスキーマは、SQLスクリプトで作成される表、ビュー、ロール、ストアド・プロシージャおよびシノニムを所有します。

次のスキーマ・オブジェクトとその表形式の情報は、各ロールが提供する権限と、ASP.NETサービス・メソッドとOracleストアド・プロシージャまたは関数との関係を説明します。

この項では、次のオブジェクトをリストします。

- 表

- ロール

- ビュー

- ストアド・プロシージャ

- シノニム

表

表1-3に、各プロバイダによって使用される表をリストします。

表1-3 プロバイダ表

Oracleプロバイダ

表

メンバーシップ

ora_aspnet_Membership

ora_aspnet_Applications

ora_aspnet_Users

ロール

ora_aspnet_Roles

ora_aspnet_UsersInRoles

ora_aspnet_Applications

ora_aspnet_Users

プロファイル

ora_aspnet_Profile

ora_aspnet_Applications

ora_aspnet_Users

パーソナライズ

ora_aspnet_Paths

ora_aspnet_PersonaliznAllUsers

ora_aspnet_PersonaliznPerUser

ora_aspnet_Applications

ora_aspnet_Users

Webイベント

ora_aspnet_WebEvents

サイト・マップ

ora_aspnet_SiteMap

ora_aspnet_Applications

セッション状態

ora_aspnet_SessionApplications

ora_aspnet_Sessions

ロール

プロバイダごとに作成された、最大3つのタイプのデータベース・ロールがあります。

- BasicAccess - プロバイダの基本機能へのアクセスをデータベース・ユーザーに提供します。

- ReportAccess - プロバイダのレポート指向のデータ収集機能をデータベース・ユーザーに提供します。

- FullAccess - プロバイダに関連するすべてのデータベース・オブジェクトへのアクセスをデータベース・ユーザーに提供します。

表1-4に、各プロバイダに対して作成されるロールをリストします。

表1-4 ロールおよび権限

Oracleプロバイダ

Oracle Databaseロール

メンバーシップ

ora_aspnet_Mem_BasicAccess

ora_aspnet_Mem_ReportAccess

ora_aspnet_Mem_FullAccess

ロール

ora_aspnet_Roles_BasicAccess

ora_aspnet_Roles_ReportAccess

ora_aspnet_Roles_FullAccess

プロファイル

ora_aspnet_Prof_BasicAccess

ora_aspnet_Prof_ReportAccess

ora_aspnet_Prof_FullAccess

パーソナライズ

ora_aspnet_Pers_BasicAccess

ora_aspnet_Pers_ReportAccess

ora_aspnet_Pers_FullAccess

Webイベント

ora_aspnet_Wevnt_FullAccess

サイト・マップ

ora_aspnet_Smap_FullAccess

セッション

ora_aspnet_Sessn_FullAccess

ビュー

次の表に、各プロバイダに対して作成されるビューを示します。表では、これらのビューへのアクセス権を付与するプロバイダ固有のデータベース・ロールもリストします。

OracleMembershipProviderビュー

表1-5に、ロールおよびそのロールが提供する表示アクセス権をリストします。

表1-5 OracleMembershipProvider

ロール

ビュー

ora_aspnet_Mem_BasicAccess

(なし)

ora_aspnet_Mem_ReportAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_MemUsers

ora_aspnet_Mem_FullAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_MemUsers

OracleRoleProviderビュー

表1-6に、ロールおよびそのロールが提供する表示アクセス権をリストします。

表1-6 OracleRoleProvider

ロール

ビュー

ora_aspnet_Roles_BasicAccess

(なし)

ora_aspnet_Roles_ReportAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_Roles

ora_vw_aspnet_UIR

ora_aspnet_Roles_FullAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_Roles

ora_vw_aspnet_UIR

OracleProfileProviderビュー

表1-7に、ロールおよびそのロールが提供する表示アクセス権をリストします。

表1-7 OracleProfileProvider

ロール

ビュー

ora_aspnet_Prof_BasicAccess

(なし)

ora_aspnet_Prof_ReportAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_Profiles

ora_aspnet_Prof_FullAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_vw_aspnet_Profiles

OraclePersonalizationProviderビュー

表1-8に、ロールおよびそのロールが提供する表示アクセス権をリストします。

表1-8 OraclePersonalizationProvider

ロール

ビュー

ora_aspnet_Pers_BasicAccess

(なし)

ora_aspnet_Pers_ReportAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

ora_aspnet_Pers_FullAccess

ora_vw_aspnet_Applications

ora_vw_aspnet_Users

OracleSessionStateStoreビュー

表1-9に、ロールおよびそのロールが提供する表示アクセス権をリストします。

表1-9 OracleSessionStateStore

ロール

ビュー

ora_aspnet_Sessn_FullAccess

ora_vew_aspnet_sessions

ストアド・プロシージャ

次の表に、プロバイダ固有のデータベース・ロールと、ロールが実行権限を提供するストアド・プロシージャをリストします。表では、ストアド・プロシージャを起動する、対応するASP.NETサービス・メソッドもリストしています。

OracleMembershipProviderストアド・プロシージャ

表1-10に、ora_aspnet_Mem_BasicAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-10 ora_aspnet_Mem_BasicAccessロール

サービス・メソッド

ストアド・プロシージャ

GetNumberOfUsersOnline

ora_aspnet_Mem_GetNumOfUsersOn

GetPassword

ora_aspnet_Mem_GetPassword

GetUser

ora_aspnet_Mem_GetUserByUid

ora_aspnet_Mem_GetUserByName

GetUserNameByEmail

ora_aspnet_Mem_GetUserByEml

UpdateUser

ora_aspnet_Mem_UpdateUser

ValidateUser

ora_aspnet_Mem_GetPwdWithFmt

ora_aspnet_Mem_UpdateUserInfo

表1-11に、ora_aspnet_Mem_ReportAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-11 ora_aspnet_Mem_ReportAccessロール

サービス・メソッド

ストアド・プロシージャ

FindUsersByEmail

ora_aspnet_Mem_FindUsersByEml

FindUsersByName

ora_aspnet_Mem_FindUsersByName

GetAllUsers

ora_aspnet_Mem_GetAllUsers

GetNumberOfUsersOnline

ora_aspnet_Mem_GetNumOfUsersOn

GetUser

ora_aspnet_Mem_GetUserByUid

ora_aspnet_Mem_GetUserByName

GetUserNameByEmail

ora_aspnet_Mem_GetUserByEml

表1-12に、ora_aspnet_Mem_FullAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-12 ora_aspnet_Mem_FullAccessロール

サービス・メソッド

ストアド・プロシージャ

すべてのメンバーシップ・メソッド

ora_aspnet_Mem_ChangePwdQAndA

ora_aspnet_Mem_CreateUser

ora_aspnet_Mem_FindUsersByEml

ora_aspnet_Mem_FindUsersByName

ora_aspnet_Mem_GetAllUsers

ora_aspnet_Mem_GetNumOfUsersOn

ora_aspnet_Mem_GetPassword

ora_aspnet_Mem_GetPwdWithFmt

ora_aspnet_Mem_GetUserByEml

ora_aspnet_Mem_GetUserByName

ora_aspnet_Mem_GetUserByUid

ora_aspnet_Mem_ResetPassword

ora_aspnet_Mem_SetPassword

ora_aspnet_Mem_UnlockUser

ora_aspnet_Mem_UpdateUser

ora_aspnet_Mem_UpdateUserInfo

ora_aspnet_Users_DeleteUser

OracleRoleProviderストアド・プロシージャ

表1-13に、ora_aspnet_Roles_BasicAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-13 ora_aspnet_Roles_BasicAccessロール

サービス・メソッド

ストアド・プロシージャ

GetRolesForUser

ora_aspnet_UIR_GetRolesForUser

IsUserInRole

ora_aspnet_UIR_IsUserInRole

表1-14に、ora_aspnet_Roles_ReportAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-14 ora_aspnet_Roles_ReportAccessロール

サービス・メソッド

ストアド・プロシージャ

FindUsersInRole

ora_aspnet_UIR_FindUsersInRole

GetAllRoles

ora_aspnet_Roles_GetAllRoles

GetRolesForUser

ora_aspnet_UIR_GetRolesForUser

GetUsersInRole

ora_aspnet_UIR_GetUsersInRoles

IsUserInRole

ora_aspnet_UIR_IsUserInRole

RoleExists

ora_aspnet_Roles_RoleExists

表1-15に、ora_aspnet_Roles_FullAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-15 ora_aspnet_Roles_FullAccessロール

サービス・メソッド

ストアド・プロシージャ

すべてのロール・マネージャ・メソッド

ora_aspnet_Roles_CreateRole

ora_aspnet_Roles_DeleteRole

ora_aspnet_Roles_GetAllRoles

ora_aspnet_Roles_RoleExists

ora_aspnet_UIR_AddUsersToRoles

ora_aspnet_UIR_FindUsersInRole

ora_aspnet_UIR_GetRolesForUser

ora_aspnet_UIR_GetUsersInRoles

ora_aspnet_UIR_IsUserInRole

ora_aspnet_UIR_RemUsersFmRoles

OracleProfileProviderストアド・プロシージャ

表1-16に、ora_aspnet_Prof_BasicAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-16 ora_aspnet_Prof_BasicAccessロール

サービス・メソッド

ストアド・プロシージャ

GetPropertyValues

ora_aspnet_Prof_GetProperties

SetPropertyValues

ora_aspnet_Prof_SetProperties

表1-17に、ora_aspnet_Prof_ReportAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-17 ora_aspnet_Prof_ReportAccessロール

サービス・メソッド

ストアド・プロシージャ

GetAllProfiles

ora_aspnet_Prof_GetProfiles

GetAllInactiveProfiles

ora_aspnet_Prof_GetProfiles

GetNumberOfInactiveProfiles

ora_aspnet_Prof_GetNumOfInactPf

FindProfilesByUserName

ora_aspnet_Prof_GetProfiles

FindInactiveProfilesByUserName

ora_aspnet_Prof_GetProfiles

表1-18に、ora_aspnet_Prof_FullAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-18 ora_aspnet_Prof_FullAccessロール

サービス・メソッド

ストアド・プロシージャ

すべてのプロファイル・メソッド

ora_aspnet_Prof_DeleteInactPf

ora_aspnet_Prof_DeleteProfiles

ora_aspnet_Prof_GetNumOfInactPf

ora_aspnet_Prof_GetProfiles

ora_aspnet_Prof_GetProperties

ora_aspnet_Prof_SetProperties

OraclePersonalizationProviderストアド・プロシージャ

表1-19に、ora_aspnet_Pers_BasicAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-19 ora_aspnet_Pers_BasicAccessロール

サービス・メソッド

ストアド・プロシージャ

LoadPersonalizationState

ora_aspnet_PPU_GetPgSettings

ora_aspnet_PAU_GetPgSettings

ResetPersonalizationState

ora_aspnet_PPU_ResetPgSettings

ora_aspnet_PAU_ResetPgSettings

SavePersonalizationState

ora_aspnet_PPU_SetPgSettings

ora_aspnet_PAU_SetPgSettings

表1-20に、ora_aspnet_Pers_ReportAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-20 ora_aspnet_Pers_ReportAccessロール

サービス・メソッド

ストアド・プロシージャ

FindState

ora_aspnet_PA_FindState

GetCountOfState

ora_aspnet_PA_GetCountOfState

表1-21に、ora_aspnet_Pers_FullAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-21 ora_aspnet_Pers_FullAccessロール

サービス・メソッド

ストアド・プロシージャ

すべてのパーソナライズ・メソッド

ora_aspnet_PA_FindState

ora_aspnet_PA_GetCountOfState

ora_aspnet_PA_ResetSharedState

ora_aspnet_PA_ResetUserState

ora_aspnet_PAU_GetPgSettings

ora_aspnet_PAU_ResetPgSettings

ora_aspnet_PAU_SetPgSettings

ora_aspnet_PPU_GetPgSettings

ora_aspnet_PPU_ResetPgSettings

ora_aspnet_PPU_SetPgSettings

OracleWebEventProviderストアド・プロシージャ

表1-22に、ora_aspnet_Wevnt_FullAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-22 ora_aspnet_Wevnt_FullAccessロール

サービス・メソッド

ストアド・プロシージャ

すべてのWebイベント・メソッド

ora_aspnet_LogWebEvents

OracleSiteMapProviderストアド・プロシージャ

表1-23に、ora_aspnet_Smap_FullAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-23 ora_aspnet_Smap_FullAccessロール

サービス・メソッド

ストアド・プロシージャ

すべてのサイト・マップ・メソッド

ora_aspnet_GetSiteMapData

OracleSessionStateStoreプロバイダ・ストアド・プロシージャ

表1-24に、ora_aspnet_Sessn_FullAccessロールを持つユーザーが実行できるサービス・メソッドとストアド・プロシージャをリストします。

表1-24 ora_aspnet_Sessn_FullAccessロール

サービス・メソッド

ストアド・プロシージャ

すべてのセッション状態メソッド

ora_aspnet_SessnApp_SetAppID

ora_aspnet_Sessn_InsUninitItem

ora_aspnet_Sessn_RelStateItmEx

ora_aspnet_Sessn_RmStateItem

ora_aspnet_Sessn_ResetTimeout

ora_aspnet_Sessn_UpdStateItem

ora_aspnet_Sessn_InsStateItem

ora_aspnet_Sessn_GetStateItem

ora_aspnet_Sessn_GetStateItmEx

シノニム

パブリック・シノニムは、すべてのストアド・プロシージャに対して作成されるため、ストアド・プロシージャを所有するユーザーによって適切なプロバイダ固有ロールを付与されたデータベース内の任意のユーザーが実行できます。

2 OracleMembershipProvider

この章では、OracleMemberProviderクラスについて説明します。

関連項目:
ASP.NETのメンバーシップおよびメンバーシップ・プロバイダ: http://msdn.microsoft.com/en-us/library/tw292whz.aspx

この章の内容は次のとおりです。

- OracleMembershipProviderクラス

OracleMembershipProviderクラス

OracleMembershipProviderクラスにより、ASP.NET開発者は、Webサイト・ユーザーのアカウント情報をOracleデータベースに格納できます。

クラスの継承

System.Object

System.Configuration.Provider.ProviderBase

System.Web.Security.MembershipProvider

Oracle.Web.Security.OracleMembershipProvider

宣言

// C#
public class OracleMembershipProvider: MembershipProvider

スレッド安全性

すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。

備考

このクラスにより、ASP.NETアプリケーションは、Oracleデータベースにユーザー情報を格納し、管理できます。この章のユーザーという用語は、データベース・ユーザーではなくアプリケーションまたはユーザーを意味していることに注意してください。したがって、このプロバイダが管理するユーザー情報は、データベース・ユーザー情報ではなくアプリケーション情報またはユーザー情報です。

例

次のコード例は、OracleMembershipProviderをデフォルト・プロバイダとして使用するように構成されたASP.NETアプリケーションのweb.configファイルを示します。この構成では、machine.configファイルで指定された接続文字列とデフォルト属性値を使用します。

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<membership defaultProvider="OracleMembershipProvider"/>
</system.web>
</configuration>

次に、OracleMembershipProviderをカスタマイズされた設定およびアプリケーション固有の接続文字列とともに使用するASP.NETアプリケーションに対するweb.configの例を示します。

<?xml version="1.0"?>
<configuration xmlns=
"http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="my_membership_app_con_string" connectionString=
"User Id=scott;Password=tiger;Data Source=Oracle"/>
</connectionStrings>
<system.web>
<!-- Enable and customize OracleMembershipProvider settings -->
<membership defaultProvider="MyOracleMembershipProvider">
<providers>
<add name="MyOracleMembershipProvider"
type="Oracle.Web.Security.OracleMembershipProvider,
Oracle.Web, Version=2.112.2.0, Culture=neutral,
PublicKeyToken=89b483f429c47342"
connectionStringName="my_membership_app_con_string"
applicationName="my_membership_app"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="4"
minRequiredPasswordLength="9"
passwordAttemptWindow="8"/>
</providers>
</membership>
</system.web>
</configuration>

applicationName属性は、ASP.NETアプリケーションごとに一意の値に設定する必要があります。

要件

ネームスペース: Oracle.Web.Security

アセンブリ: Oracle.Web.dll

Oracle Providers for ASP.NETのバージョン: Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderメンバー

- OracleMembershipProviderコンストラクタ

- OracleMembershipProvider静的メソッド

- OracleMembershipProviderパブリック・プロパティ

- OracleMembershipProviderパブリック・メソッド

- OracleMembershipProviderパブリック・イベント

OracleMembershipProviderメンバー

次の表にOracleMembershipProviderメンバーをリストします。

OracleMembershipProviderコンストラクタ

OracleMembershipProviderコンストラクタを、表2-1にリストします。

表2-1 OracleMembershipProviderコンストラクタ

コンストラクタ

説明

OracleMembershipProviderコンストラクタ

OracleMembershipProviderクラスの新規インスタンスをインスタンス化します

OracleMembershipProvider静的メソッド

OracleMembershipProvider静的メソッドを、表2-2にリストします。

表2-2 OracleMembershipProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

OracleMembershipProviderパブリック・プロパティ

OracleMembershipProviderパブリック・プロパティを、表2-3にリストします。

表2-3 OracleMembershipProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

ユーザー情報のグループ化に使用されるアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

EnablePasswordReset

パスワードのリセットをユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します

EnablePasswordRetrieval

パスワードの取得をユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します

MaxInvalidPasswordAttempts

ユーザーがロックされるまでに許可される無効なパスワードまたはパスワードに対する無効な回答の試行回数を取得します

MinRequiredNonAlphanumericCharacters

有効なパスワードに存在する必要のある特殊文字の最小数を取得します

MinRequiredPasswordLength

パスワードに必要な最小の長さを取得します

Name

System.Configuration.Provider.Providerbaseからの継承

PasswordAttemptWindow

ユーザーがロックされるまでに無効なパスワードまたはパスワードに対する無効な回答の最大試行回数が許可される時間(分)を取得します

PasswordCompatMode

パスワードの互換性モードを取得します。

PasswordFormat

メンバーシップ・データ・ソースにパスワードを格納するための形式を示す値を取得します

PasswordStrengthRegularExpression

パスワードの評価に使用される正規表現を取得します

RequiresQuestionAndAnswer

ユーザーがパスワードをリセットおよび取得する場合にパスワードに対する質問に回答することを要求するような方法でメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します

RequiresUniqueEmail

各ユーザー名の一意の電子メール・アドレスを要求するようにメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します

OracleMembershipProviderパブリック・メソッド

OracleMembershipProviderパブリック・メソッドを、表2-4にリストします。

表2-4 OracleMembershipProviderパブリック・メソッド

パブリック・メソッド

説明

ChangePassword

ユーザーのパスワードを更新します

ChangePasswordQuestionAndAnswer

ユーザーのパスワードに対する質問および回答を更新します

CreateUser

データベースに新しいユーザーを追加します

DeleteUser

データベースからユーザーを削除します

Equals

System.Objectからの継承(オーバーロード)

FindUsersByEmail

指定された電子メール・アドレスに一致する電子メール・アドレスを持つユーザーのコレクションを戻します

FindUsersByName

指定されたユーザー名に一致するユーザーのコレクションを戻します

GeneratePassword

少なくとも14文字の長さのランダム・パスワードを生成します

GetAllUsers

データベース内のすべてのユーザーのコレクションを戻します

GetHashCode

System.Objectからの継承

GetNumberOfUsersOnline

アプリケーションに現在アクセスしているユーザー数を戻します

GetPassword

指定されたユーザー名のパスワードをデータベースから戻します

GetType

System.Objectからの継承

GetUser

ユーザーの一意識別子に基づいてデータベースからユーザー情報を戻します(オーバーロード)

GetUserNameByEmail

指定された電子メール・アドレスに関連付けられているユーザー名を戻します

Initialize

ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値でOracleMembershipプロバイダを初期化します

ResetPassword

ユーザーのパスワードをリセットし、自動的に生成された新しいパスワードを戻します

ToString

System.Objectからの継承

UnlockUser

ユーザーをロック解除してユーザーを検証できるようにします

UpdateUser

データベース内のユーザーに関する情報を更新します

ValidateUser

ユーザーを検証します

OracleMembershipProviderパブリック・イベント

OracleMembershipProviderパブリック・イベントを、表2-5にリストします。

表2-5 OracleMembershipProviderパブリック・イベント

パブリック・イベント

説明

ValidatingPassword

System.Web.Security.MembershipProviderからの継承

関連項目:

- OracleMembershipProviderクラス

OracleMembershipProviderコンストラクタ

このコンストラクタでは、OracleMembershipProviderクラスの新規インスタンスがインスタンス化されます。

オーバーロード・リスト:

- OracleMembershipProvider()
このコンストラクタでは、OracleMembershipProviderクラスのインスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

OracleMembershipProvider()

このコンストラクタでは、OracleMembershipProviderクラスの新規インスタンスがインスタンス化されます。

宣言

// C#
public OracleMembershipProvider();

備考

ASP.NETは、OracleMembershipProviderコンストラクタを呼び出して、アプリケーションの構成で指定されたとおりにOracleMembershipProviderクラスのインスタンスを作成します。OracleMembershipProviderオブジェクトの初期化値は、Initializeメソッドを通じて渡されます。

このコンストラクタは、アプリケーションで直接使用されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

OracleMembershipProvider静的メソッド

OracleMembershipProvider静的メソッドを、表2-6にリストします。

表2-6 OracleMembershipProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

OracleMembershipProviderパブリック・プロパティ

OracleMembershipProviderパブリック・プロパティを、表2-7にリストします。

表2-7 OracleMembershipProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

ユーザー情報のグループ化に使用されるアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

EnablePasswordReset

パスワードのリセットをユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します

EnablePasswordRetrieval

パスワードの取得をユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します

MaxInvalidPasswordAttempts

ユーザーがロックされるまでに許可される無効なパスワードまたはパスワードに対する無効な回答の試行回数を取得します

MinRequiredNonAlphanumericCharacters

有効なパスワードに存在する必要のある特殊文字の最小数を取得します

MinRequiredPasswordLength

パスワードに必要な最小の長さを取得します

Name

System.Configuration.Provider.Providerbaseからの継承

PasswordAttemptWindow

ユーザーがロックされるまでに無効なパスワードまたはパスワードに対する無効な回答の最大試行回数が許可される時間(分)を取得します

PasswordCompatMode

パスワードの互換性モードを取得します。

PasswordFormat

メンバーシップ・データ・ソースにパスワードを格納するための形式を示す値を取得します

PasswordStrengthRegularExpression

パスワードの評価に使用される正規表現を取得します

RequiresQuestionAndAnswer

ユーザーがパスワードをリセットおよび取得する場合にパスワードに対する質問に回答することを要求するような方法でメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します

RequiresUniqueEmail

各ユーザー名の一意の電子メール・アドレスを要求するようにメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

ApplicationName

このプロパティでは、ユーザー情報のグループ化に使用されるアプリケーションの名前を取得または設定します。

宣言

// C#
public override string ApplicationName{get; set;}

プロパティ値

アプリケーションの名前。applicationName属性がアプリケーション構成ファイルで指定されていない場合、または値が空の文字列の場合は、このプロパティがアプリケーションの仮想パスに設定されます。

例外

ArgumentException - 指定されたアプリケーション名が空の文字列またはnull参照です。

ProviderException - 指定されたアプリケーション名が256文字を超えています。

備考

ApplicationNameプロパティの文字列値は、ユーザー情報の編成に使用されます。ユーザー情報はアプリケーション名ごとに一意に格納されるため、複数のASP.NETアプリケーションが、同じデータベースを使用したり、重複するユーザー名を作成したりできます。このプロパティは、プログラムで設定するか、Webアプリケーション構成ファイルでapplicationName属性を使用して宣言で設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

ApplicationNameプロパティはスレッドセーフではありません。プログラミング・コードでは、ユーザーにWebアプリケーションでのApplicationNameプロパティの設定を許可しないことをお薦めします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

CommandTimeout

このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。

宣言

// C#
public int CommandTimeout {get;}

プロパティ値

int

備考

プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。

デフォルト値は30秒です。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

EnablePasswordReset

このプロパティは、パスワードのリセットをユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します。

宣言

// C#
public override bool EnablePasswordReset{get;}

プロパティ値

メンバーシップ・プロバイダがパスワードのリセットをサポートする場合はtrueを戻し、それ以外の場合はfalseを戻します。デフォルトはtrueです。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、enablePasswordReset属性を使用してweb.configファイルでこのプロパティにブール値を指定できます。値は、ユーザーがResetPasswordメソッドを使用して、現在のパスワードをランダムに生成された新しいパスワードで上書きできるかどうかを示します。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

EnablePasswordRetrieval

このプロパティは、パスワードの取得をユーザーに許可するようにメンバーシップ・プロバイダが構成されているかどうかを示します。

宣言

// C#
public override bool EnablePasswordRetrieval{get;}

プロパティ値

メンバーシップ・プロバイダがパスワードの取得をサポートするように構成されている場合はtrueを戻し、それ以外の場合はfalseを戻します。デフォルトはfalseです。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、enablePasswordRetrieval属性を使用してweb.configファイルでこのプロパティにブール値を設定できます。値は、ユーザーがGetPasswordメソッドを使用してデータベースから現在のパスワードを取得できるかどうかを示します。構成ファイルの属性名は、大文字と小文字が区別されます。

カスタム・メンバーシップ・プロバイダがハッシュされたパスワードをサポートする場合、GetPasswordメソッドは、EnablePasswordRetrievalプロパティがtrueで、パスワード形式がHashedに設定されている場合に例外を戻します。つまり、ハッシュされたパスワードは取得できません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

MaxInvalidPasswordAttempts

このプロパティでは、ユーザーがロックされるまでに許可される無効なパスワードまたはパスワードに対する無効な回答の試行回数を取得します。

宣言

// C#
public override int MaxInvalidPasswordAttempts{get;}

プロパティ値

ユーザーがロックされるまでに許可される無効なパスワードまたはパスワードに対する無効な回答の試行回数。デフォルトの試行回数は5です。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、maxInvalidPasswordAttempts属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

MaxInvalidPasswordAttemptsプロパティは、PasswordAttemptWindowプロパティと連動します。PasswordAttemptWindowプロパティ値(分単位)内の無効なパスワードまたはパスワードに対する無効な質問の入力回数がMaxInvalidPasswordAttemptsプロパティ値以上の場合は、UnlockUserメソッドによってロック解除されるまでユーザーがロックされます。MaxInvalidPasswordAttempts値に達する前に、有効なパスワードまたはパスワードに対する有効な回答が入力された場合は、無効な試行回数を追跡するカウンタがゼロにリセットされます。

無効なパスワードおよびパスワードに対する無効な回答の試行は個別に累積されます。たとえば、MaxInvalidPasswordAttemptsプロパティが10に設定されていて、6回の無効なパスワード試行に続いてパスワードに対する無効な回答が3回試行された場合、ユーザーがロックされるには、PasswordAttemptWindow内であと4回の無効なパスワード試行または7回のパスワードに対する無効な回答試行が行われる必要があります。

RequiresQuestionAndAnswerプロパティがfalseに設定されている場合は、パスワードに対する無効な回答の試行が追跡されません。

無効なパスワードの試行およびパスワードに対する無効な回答の試行は、ValidateUser、ChangePassword、ChangePasswordQuestionAndAnswer、GetPassword、ResetPasswordの各メソッドで追跡されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

MinRequiredNonAlphanumericCharacters

このプロパティでは、有効なパスワードに存在する必要のある特殊文字の最小数を取得します。

宣言

// C#
public override int MinRequiredNonAlphanumericCharacters(get;}

プロパティ値

有効なパスワードに存在する必要のある特殊文字の最小数。デフォルト値は1です。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、minRequiredNonalphanumericCharacters属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

MinRequiredNonAlphanumericCharactersプロパティは、OracleMembershipProviderオブジェクトの有効なパスワードを作成するために入力する必要のある特殊文字(英数字以外)の最小数を戻します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

MinRequiredPasswordLength

このプロパティでは、パスワードに必要な最小の長さを取得します。

宣言

// C#
public override int MinRequiredPasswordLength{get;}

プロパティ値

パスワードに必要な最小の長さ。デフォルト値は7です。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、minRequiredPasswordLength属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

minRequiredPasswordLengthプロパティは、OracleMembershipProviderオブジェクトの有効なパスワードを作成するために入力する必要のある最小限の文字数を取得します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

PasswordAttemptWindow

このプロパティでは、ユーザーがロックされるまでに無効なパスワードまたはパスワードに対する無効な回答の最大試行回数が許可される時間(分単位)を取得します。

宣言

// C#
public override int PasswordAttemptWindow{get;}

プロパティ値

ユーザーがロックされるまでに無効なパスワードまたはパスワードに対する無効な回答の最大試行回数が許可される時間(分単位)。デフォルト値は10です。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、passwordAttemptWindow属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

PasswordAttemptWindowプロパティはMaxInvalidPasswordAttemptsプロパティと連動します。PasswordAttemptWindowプロパティ値(分単位)内の無効なパスワードまたはパスワードに対する無効な質問の入力回数がMaxInvalidPasswordAttemptsプロパティ値以上の場合は、UnlockUserメソッドによってロック解除されるまでユーザーがロックされます。MaxInvalidPasswordAttempts値に達する前に、有効なパスワードまたはパスワードに対する有効な回答が入力された場合は、無効な試行回数を追跡するカウンタがゼロにリセットされます。

無効なパスワードおよびパスワードに対する無効な回答の試行は個別に累積されます。たとえば、MaxInvalidPasswordAttemptsプロパティが10に設定されていて、6回の無効なパスワード試行に続いてパスワードに対する無効な回答が3回試行された場合、ユーザーがロックされるには、PasswordAttemptWindow値内であと4回の無効なパスワードの試行または7回のパスワードに対する無効な回答試行が行われる必要があります。

RequiresQuestionAndAnswerプロパティがfalseに設定されている場合は、パスワードに対する無効な回答の試行が追跡されません。

無効なパスワードの試行およびパスワードに対する無効な回答の試行は、ValidateUser、ChangePassword、ChangePasswordQuestionAndAnswer、GetPassword、ResetPasswordの各メソッドで追跡されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

PasswordCompatMode

このプロパティは、パスワードの互換性モードを取得します。

宣言

// C#
public string PasswordCompatMode {get;}

プロパティ値

string。

備考

デフォルト値は、Framework20です。他の指定可能な値は、Framework40です。文字列値は、大/小文字が区別されます。

プロバイダをカスタマイズするために、ASP.NET開発者は、passwordCompatMode属性を使用してweb.configファイルでこのプロパティに文字列値を設定できます。

passwordFormat属性がHashedに設定されると、ユーザーの作成と検証のときに、System.Web.Security.Membership.HashAlgorithmTypeプロパティの値は、メンバーシップ・ユーザーのパスワードのハッシュ化に使用されます。

HashAlgorithmTypeプロパティの値は、大/小文字が区別される属性hashAlgorithmTypeを介してweb.configファイルに設定できます。次に例を示します。

<membership defaultProvider="OracleMembershipProvider" hashAlgorithmType="SHA1"/>

hashAlgorithmType属性がweb.configファイルに指定されていないと、SHA1が使用されます。.NET Framework 2.0の場合、hashAlgorithmTypeの他の有効な値はMD5です。

.NET Framework 4では、既存のメンバーシップ・ユーザーが存在しない新しいアプリケーションで、SHAおよびHMACSHAハッシュ・アルゴリズム・タイプの他の有効なバージョンを使用する場合、passwordCompatMode属性はFramework40に設定する必要があり、hashAlgorithmType属性は適切なタイプ(SHA256、HMACSHA256、HMACSHA384、HMACSHA512など)に設定する必要があります。ただし、passwordCompatModeをFramework40に設定した場合、SHA1およびMD5は引き続きサポートされます。

例

次のweb.configの例では、hashAlgorithmTypeがHMACSHA25に、passwordCompatModeがFramework40に設定されます。

<!-- Enable and customize OracleMembershipProvider settings -->
<membership defaultProvider="MyOracleMembershipProvider" hashAlgorithmType="HMACSHA256">
<providers>
<add name="MyOracleMembershipProvider"
type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web,
Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
ConnectionStringName="my_membership_app_con_string"
applicationName="my_membership_app"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="4"
minRequiredPasswordLength="9"
passwordCompatMode="Framework40"
passwordAttemptWindow="8"/>
</providers>
</membership>

あるhashAlgorithmTypeを使用してメンバーシップ・ユーザーを作成したら、同じhashAlgorithmTypeを使用してユーザーを検証する必要があります。hashAlgorithmTypeが変更されると、そのユーザーの検証は成功しません。このため、特定のアプリケーションでその存続期間中は、同じhashAlgorithmTypeを使用する必要があります。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

PasswordFormat

このプロパティでは、メンバーシップ・データ・ソースにパスワードを格納するための形式を示す値を取得します。

宣言

// C#
public override MembershipPasswordFormat PasswordFormat{get;}

プロパティ値

データ・ソース内のパスワードの格納形式。形式は、Clear、Hashed、Encryptedなど、いずれかのMembershipPasswordFormat値にできます。デフォルト値はHashedです。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、passwordFormat属性を使用してweb.configファイルでこのプロパティにMembershipPasswordFormat列挙値を指定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

PasswordFormatプロパティは、パスワードがClear、Encrypted、Hashedのいずれかの形式で格納されることを示します。形式名は大文字と小文字が区別されます。たとえば、Clearは有効ですが、clearは無効です。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

PasswordStrengthRegularExpression

このプロパティでは、パスワードの評価に使用される正規表現を取得します。

宣言

// C#
public override string PasswordStrengthRegularExpression{get;}

プロパティ値

パスワードの評価に使用される正規表現。デフォルトは空の文字列です。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、passwordStrengthRegularExpression属性を使用してweb.configファイルでこのプロパティに文字列値を設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

PasswordStrengthRegularExpressionプロパティは、パスワードの評価基準として正規表現を取得します。パスワードが基準を満たさない場合は、メンバーシップ・プロバイダによって受け入れられません。

次に例を示します。

passwordStrengthRegularExpression="(?=.{7,})(?=(.*\d){1,})(?=(.*\W){1,})"

前の例のコードは、次の基準に照らしてパスワードを検証します。

- 少なくとも7文字があります。

- 少なくとも1つの数字が含まれます。

- 少なくとも1つの特殊(英数字以外)文字が含まれます。

passwordStrengthRegularExpressionで定義されている最小限のパスワード長は、minRequiredPasswordLength属性の値以上である必要があります。

passwordStrengthRegularExpression属性で定義されている特殊(英数字以外)文字の最小数は、minRequiredNonalphanumericCharacters属性の値以上である必要があります。

passwordStrengthRegularExpression属性は、ResetPasswordメソッドから自動的に生成されたパスワードでは使用されません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

RequiresQuestionAndAnswer

このプロパティでは、ユーザーがパスワードをリセットおよび取得する場合にパスワードに対する質問に回答することを要求するような方法でメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します。

宣言

// C#
public override bool RequiresQuestionAndAnswer{get;}

プロパティ値

パスワードのリセットおよび取得に対してパスワードに対する回答が必要な場合はtrueを戻し、それ以外の場合はfalseを戻します。デフォルト値はtrueです。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、requiresQuestionAndAnswer属性を使用してweb.configファイルでこのプロパティにブール値を設定できます。値は、ユーザーがGetPasswordメソッドを使用してパスワードを取得またはResetPasswordメソッドを使用してパスワードをリセットするために、パスワードに対する回答を入力する必要があるかどうかを示します。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

RequiresUniqueEmail

このプロパティでは、各ユーザー名の一意の電子メール・アドレスを要求するようにメンバーシップ・プロバイダが構成されているかどうかを示す値を取得します。

宣言

// C#
public override bool RequiresUniqueEmail{get;}

プロパティ値

メンバーシップ・プロバイダが一意の電子メール・アドレスを必要とする場合はtrueを戻し、それ以外の場合はfalseを戻します。デフォルト値はfalseです。

備考

メンバーシップ・プロバイダをカスタマイズするために、ASP.NET開発者は、requiresUniqueEmail属性を使用してweb.configファイルでRequiresUniqueEmailプロパティにブール値を指定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

OracleMembershipProviderパブリック・メソッド

OracleMembershipProviderパブリック・メソッドを、表2-8にリストします。

表2-8 OracleMembershipProviderパブリック・メソッド

パブリック・メソッド

説明

ChangePassword

ユーザーのパスワードを更新します

ChangePasswordQuestionAndAnswer

ユーザーのパスワードに対する質問および回答を更新します

CreateUser

データベースに新しいユーザーを追加します

DeleteUser

データベースからユーザーを削除します

Equals

System.Objectからの継承(オーバーロード)

FindUsersByEmail

指定された電子メール・アドレスに一致する電子メール・アドレスを持つユーザーのコレクションを戻します

FindUsersByName

指定されたユーザー名に一致するユーザーのコレクションを戻します

GeneratePassword

少なくとも14文字の長さのランダム・パスワードを生成します

GetAllUsers

データベース内のすべてのユーザーのコレクションを戻します

GetHashCode

System.Objectからの継承

GetNumberOfUsersOnline

アプリケーションに現在アクセスしているユーザー数を戻します

GetPassword

指定されたユーザー名のパスワードをデータベースから戻します

GetType

System.Objectからの継承

GetUser

ユーザーの一意識別子に基づいてデータベースからユーザー情報を戻します(オーバーロード)

GetUserNameByEmail

指定された電子メール・アドレスに関連付けられているユーザー名を戻します

Initialize

ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値でOracleMembershipプロバイダを初期化します

ResetPassword

ユーザーのパスワードをリセットし、自動的に生成された新しいパスワードを戻します

ToString

System.Objectからの継承

UnlockUser

ユーザーをロック解除してユーザーを検証できるようにします

UpdateUser

データベース内のユーザーに関する情報を更新します

ValidateUser

ユーザーを検証します

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

ChangePassword

このメソッドは、ユーザーのパスワードを更新します。

宣言

// C#
public override bool ChangePassword(string userName, string oldPassword,
string newPassword);

パラメータ

- userName
パスワードを更新する対象のユーザー。

- oldPassword
指定されたユーザーの現在のパスワード。

- newPassword
指定されたユーザーの新しいパスワード。

戻り値

パスワードが正常に更新された場合はtrueを戻し、それ以外の場合はfalseを戻します。

例外

ArgumentNullException - userName、oldPasswordまたはnewPasswordパラメータがnullです。

System.Web.Security.MembershipPasswordException - userNameがメンバーシップ・データベースに見つかりませんでした。

System.Configuration.Provider.ProviderException - データベースに新しいパスワードを設定しているときにエラーが発生しました。

例外 - 処理されない例外が発生しました。

ArgumentException - 次のいずれかの条件が存在します。

- userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。

- oldPasswordパラメータが空の文字列であるか、128文字を超えています。

- newPasswordパラメータが、空の文字列である、128文字(エンコードされたバージョンを含む)より長い、MinRequiredPasswordLengthプロパティの値より小さい、英数字文字以外の文字数がMinRequiredNonAlphanumericCharactersプロパティの値より少ない、PasswordStrengthRegularExpressionプロパティで定義された正規表現と一致しない、のいずれかです。

- パスワード変更操作がValidatingPasswordイベントのサブスクライバによって取り消され、FailureInformationプロパティがnull参照でした。

備考

ChangePasswordメソッドは、指定されたユーザー名とパスワードが有効で、パスワードが正しく更新された場合にtrueを戻します。それ以外の場合はfalseを戻します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

ChangePasswordQuestionAndAnswer

このメソッドは、ユーザーのパスワードに対する質問と回答を更新します。

宣言

// C#
public override bool ChangePasswordQuestionAndAnswer(string userName, string
password, string newPasswordQuestion, string newPasswordAnswer);

パラメータ

- userName
パスワードに対する質問と回答が変更される対象のユーザー。

- password
指定されたユーザーのパスワード。

- newPasswordQuestion
指定されたユーザーのパスワードに対する新しい質問。

- newPasswordAnswer
指定されたユーザーのパスワードに対する新しい回答。

戻り値

パスワードに対する質問と回答が正常に更新された場合はtrueを戻し、それ以外の場合はfalseを戻します。

例外

ArgumentException - 次のいずれかの条件が存在します。

- userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。

- passwordパラメータが空の文字列であるか、128文字を超えています。

- newPasswordQuestionパラメータが空の文字列であるか、256文字を超えています。

- newPasswordAnswerパラメータが空の文字列であるか、128文字(エンコードされたバージョンを含む)を超えています。

備考

指定されたユーザー名とパスワードが有効で、パスワードに対する質問と回答が正常に更新された場合、このメソッドはtrueを戻します。それ以外の場合はfalseを戻します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

CreateUser

このメソッドは、データベースに新しいユーザーを追加します。

宣言

// C#
public override MembershipUser CreateUser(string userName, string password,
string emailAddress, string passwordQuestion, string passwordAnswer, bool
isApproved, Object providerUserKey, out MembershipCreateStatus status);

パラメータ

- userName
新しいユーザーのユーザー名。

- password
新しいユーザーのパスワード。

- emailAddress
新しいユーザーの電子メール・アドレス。

- passwordQuestion
新しいユーザーのパスワードに対する質問。

- passwordAnswer
新しいユーザーのパスワードに対する回答。

- isApproved
新しいユーザーが検証を承認されるかどうかを示すブール値。

- providerUserKey
データベースから取得される新しいユーザーの一意識別子。

- status
ユーザーが正常に作成されたかどうかを示すMembershipCreateStatus列挙値。

戻り値

新規に作成されたユーザーの情報が移入されるMembershipUserオブジェクト。

備考

このメソッドは、新規に作成されたユーザーの情報が移入されたMembershipUserオブジェクトを戻します。statusパラメータは、ユーザーが正常に作成されたかどうかを示すMembershipCreateStatus値を戻します。CreateUserメソッドに失敗した場合、MembershipCreateStatusメンバーは失敗の原因を示します。

MembershipCreateStatus列挙

MembershipCreateStatus列挙値を、表2-9にリストします。

表2-9 MembershipCreateStatus列挙値

メンバー名

説明

DuplicateEmail

アプリケーションの電子メール・アドレスがすでにデータベースに存在します。

DuplicateProviderUserKey

アプリケーションのプロバイダ・ユーザー・キーがすでにデータベースに存在します。

DuplicateUserName

アプリケーションのユーザー名がすでにデータベースに存在します。

InvalidAnswer

パスワードに対する回答が正しい形式ではありません。

InvalidEmail

電子メール・アドレスが正しい形式ではありません。

InvalidPassword

パスワードが正しい形式ではありません。

InvalidProviderUserKey

プロバイダ・ユーザー・キーが無効なタイプまたは形式です。

InvalidQuestion

パスワードに対する質問が正しい形式ではありません。

InvalidUserName

ユーザー名がデータベースに見つかりませんでした。

ProviderError

プロバイダにより、他のMembershipCreateStatus列挙値で説明されていないエラーが戻されました。

Success

ユーザーが正常に作成されました。

UserRejected

プロバイダ定義の理由により、ユーザーが作成されませんでした。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

DeleteUser

このメソッドは、データベースからユーザーを削除します。

宣言

// C#
public override bool DeleteUser(string userName, bool deleteAllRelatedData);

パラメータ

- userName
削除するユーザーの名前。

- deleteAllRelatedData
ユーザーに関連するすべてのデータをデータベースから削除するかどうかを示すブール値。

戻り値

ユーザーが正常に削除された場合はtrueを戻し、それ以外の場合、またはユーザーがデータベースに存在しない場合はfalseを戻します。

例外

ArgumentException - userNameパラメータが空の文字列であるか、カンマを含むか、256文字を超えています。

ArgumentNullException - userNameパラメータがnull参照です。

備考

先頭および末尾の空白はuserNameパラメータ値から削除されます。deleteAllRelatedDataがtrueの場合は、ユーザーがOracleメンバーシップ・データベースに存在しない場合でも、ロール、プロファイルおよびパーソナライズに関するデータなど、データベース内のユーザーに関連するデータもすべて削除されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

FindUsersByEmail

このメソッドは、指定された電子メール・アドレスに一致する電子メール・アドレスを持つユーザーのコレクションを戻します。

宣言

// C#
public override MembershipUserCollection FindUsersByEmail(string emailToMatch,
int pageIndex, int pageSize, out int totalRecords);

パラメータ

- emailToMatch
検索する電子メール・アドレス。

- pageIndex
戻す結果のページの索引。PageIndexはゼロベースです。

- pageSize
戻す結果のページ・サイズ。

- totalRecords
一致するユーザーの総数。

戻り値

MembershipUserオブジェクトを含むMembershipUserCollectionオブジェクトを戻します。

例外

ArgumentException - 次のいずれかの条件が存在します。

- emailToMatchパラメータが空の文字列であるか、256文字を超えています。

- pageIndexパラメータが0未満です。

- pageSizeパラメータが1未満であるか、ページ上限がInt32.MaxValueを超えています。

ArgumentNullException - emailToMatch、pageIndex、pageSizeまたはtotalRecordsパラメータがnullです。

備考

先頭および末尾の空白はemailToMatchパラメータ値から削除されます。FindUsersByEmailメソッドから戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、MembershipUserCollectionオブジェクトで戻すMembershipUserオブジェクトの最大数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。値はゼロベースであるため、ゼロは最初のページを示します。totalRecordsパラメータは、emailToMatch値に一致したユーザーの総数を表す出力パラメータです。

OracleMembershipProviderクラスは、パーセント文字(%)をワイルドカードとして受け入れることにより、拡張検索をサポートします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

FindUsersByName

このメソッドは、指定されたユーザー名に一致するユーザーのコレクションを戻します。

宣言

// C#
public override MembershipUserCollection FindUsersByEmail(string userNameToMatch,
int pageIndex, int pageSize, out int totalRecords);

パラメータ

- userNameToMatch
検索するユーザー名。

- pageIndex
戻される結果ページのゼロベース索引。

- pageSize
戻される結果ページのサイズ。

- totalRecords
一致するユーザーの総数。

戻り値

MembershipUserオブジェクトを含むMembershipUserCollectionオブジェクトを戻します。

例外

ArgumentException - 次のいずれかの条件が存在します。

- userNameToMatchパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。

- pageIndexパラメータが0未満です。

- pageSizeパラメータが1未満であるか、ページ上限がInt32.MaxValueを超えています。

注意:
ページ下限は(pageIndex * pageSize)であり、ページ上限は(pageIndex *pageSize)+(pageSize - 1)です。

ArgumentNullException - userNameToMatch、pageIndex、pageSizeまたはtotalRecordsパラメータがnullです。

備考

先頭および末尾の空白はuserNameToMatchパラメータ値から削除されます。

FindUsersByNameメソッドから戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、MembershipUserCollectionオブジェクトで戻すMembershipUserオブジェクトの最大数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。値はゼロベースであるため、ゼロは最初のページを示します。totalRecordsパラメータは、userNameToMatch値に一致したユーザーの総数を表す出力パラメータです。

OracleMembershipProviderクラスは、パーセント文字(%)をワイルドカードとして受け入れることにより、拡張検索をサポートします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

GeneratePassword

このメソッドは、長さが14文字以上のランダム・パスワードを生成します。

宣言

// C#
public virtual string GeneratePassword( );

戻り値

長さが14文字以上のパスワードのランダムな文字列。

備考

OracleMembershipProviderオブジェクトは、GeneratePasswordメソッドを呼び出して、14文字以上、128文字未満の長さのランダムに生成されたパスワードを取得します。

生成されたパスワードには、英数字と!@#$%^&*()_-+=[{]};:<>|./?の記号のみ含まれています。隠し文字や印刷不能な制御文字は、生成されたパスワードに含まれていません。

MinRequiredPasswordLengthプロパティに対して指定された値が14より大きい場合、GeneratePasswordプロパティから戻されるパスワードの長さは、MinRequiredPasswordLengthプロパティの値です。それ以外の場合、長さは14文字です。

GeneratePasswordメソッドによって生成されたランダム・パスワードは、PasswordStrengthRegularExpressionプロパティの正規表現を渡すことが保証されていません。ただし、ランダム・パスワードは、MinRequiredPasswordLengthおよびMinRequiredNonAlphanumericCharactersプロパティで設定された基準を満たします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

GetAllUsers

このメソッドは、データベース内のすべてのユーザーのコレクションを戻します。

宣言

// C#
public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize,
out int totalRecords);

パラメータ

- pageIndex
戻す結果のページのゼロベース索引。

- pageSize
戻す結果のページ・サイズ。

- totalRecords
ユーザーの総数。

戻り値

MembershipUserオブジェクトを含むMembershipUserCollectionオブジェクト。

例外

ArgumentException - pageIndexパラメータが0未満です。または、pageSizeパラメータが1未満であるか、ページ上限がInt32.MaxValueを超えています。

注意:
ページ下限は(pageIndex * pageSize)であり、ページ上限は(pageIndex *pageSize)+(pageSize - 1)です。

ArgumentNullException - pageIndex、pageSizeまたはtotalRecordsパラメータがnullです。

備考

GetAllUsersメソッドから戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、MembershipUserCollectionオブジェクトで戻すMembershipUserオブジェクトの最大数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。値はゼロベースであるため、ゼロは最初のページを示します。totalRecordsパラメータは、構成されたapplicationNameのユーザーの総数を表す出力パラメータです。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

GetNumberOfUsersOnline

このメソッドは、アプリケーションに現在アクセスしているユーザー数を戻します。

宣言

// C#
public override int GeNumberOfUsersOnline();

戻り値

アプリケーションに現在アクセスしているユーザー総数を示す整数値。

備考

GetNumberOfUsersOnlineメソッドは、現在のアプリケーションのユーザーのうち、最後のアクティビティ日時が現在の日時からMembership.UserIsOnlineTimeWindowプロパティの値(分単位)を引いた値より大きいユーザーの数を戻します。

カウントには、構成されたapplicationNameに関連付けられているユーザーのみ含まれます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

GetPassword

このメソッドは、指定されたユーザー名のパスワードをデータベースから戻します。

宣言

// C#
public override string GetPassword(string userName, string passwordAnswer);

パラメータ

- userName
パスワードを取得する対象のユーザー。

- passwordAnswer
ユーザーのパスワードに対する回答。

戻り値

指定したユーザー名のパスワード文字列。

例外

ArgumentNullException - userNameパラメータがnullであるか、RequiresQuestionAndAnswerプロパティがtrueのときにpasswordAnswerパラメータがnullです。

System.Web.Security.MembershipPasswordException - passwordAnswerパラメータが無効であるか、userNameで識別されるユーザーがロックされています。

System.Configuration.Provider.ProviderException - userNameパラメータがメンバーシップ・データベースに見つからないか、メンバーシップ・データベースからパスワードを取得するときにエラーが発生しました。

NotSupportedException - EnablePasswordRetrievalプロパティがfalseに設定されています。

ArgumentException - 次のいずれかの条件が存在します。

- userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。

- passwordAnswerパラメータが空の文字列であり、RequiresQuestionAndAnswerプロパティがtrueです。または、passwordAnswerパラメータが128文字(エンコードされたバージョンを含む)を超えています。

備考

先頭および末尾の空白はuserNameパラメータ値とpasswordAnswerパラメータ値から削除されます。

GetPasswordメソッドは、EnablePasswordRetrievalプロパティがtrueに設定されていることを必要とします。ただし、PasswordFormatプロパティがHashedに設定されている場合は、プロバイダの初期化時にProviderExceptionがスローされます。つまり、GetPasswordメソッドは、Hashedパスワードを取得できません。デフォルトでは、EnablePasswordRetrievalプロパティはfalseに設定されます。

RequiresQuestionAndAnswerプロパティがtrueに設定され、GetPasswordメソッドに対してパスワードに対する不正な回答が指定された場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタが1つ増やされます。これにより、ユーザーがロックされ、UnlockUserメソッドの呼び出しによってロック・ステータスがクリアされるまでログオンできなくなることがあります。パスワードに対する正しい回答が指定され、ユーザーが現在ロックされていない場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタがゼロにリセットされます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

GetUser

このメソッドは、ユーザーの一意識別子に基づいて、ユーザー情報をデータベースから戻します。

オーバーロード・リスト:

- GetUser(Object, bool)
このメソッドは、指定された一意識別子に基づいて、ユーザー情報をデータベースから戻します。

- GetUser(string, bool)
このメソッドは、指定されたユーザー名に基づいて、ユーザー情報をデータベースから戻します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

GetUser(Object, bool)

このメソッドは、指定された一意識別子に基づいて、ユーザー情報をデータベースから戻します。

宣言

// C#
public override MembershipUser GetUser(Object providerUserKey,
bool userIsOnline);

パラメータ

- providerUserKey
情報が取得される対象のユーザーの一意識別子。

- userIsOnline
メソッドがユーザーの最後のアクティビティの日時スタンプを更新するかどうかを示すブール値。値がtrueに設定されている場合は、更新されます。それ以外の場合、メソッドは最後のアクティビティの日時スタンプを更新しないでユーザー情報を戻します。

戻り値

指定されたユーザーの情報がデータベースから移入されるMembershipUserオブジェクト。

例外

ArgumentException - providerUserKeyパラメータがGUID型ではありません。

ArgumentNullException - providerUserKeyパラメータがnullです。

備考

GetUserメソッドは、ユーザーの最後のアクティビティ日時スタンプを更新するオプションを提供します。

GetUserメソッドは、指定されたユーザーに関する情報が移入されたMembershipUserオブジェクトを戻します。ユーザー名がデータベースに見つからない場合、GetUserメソッドはnull参照を戻します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

GetUser(string, bool)

このメソッドは、指定されたユーザー名に基づいて、ユーザー情報をデータベースから戻します。

宣言

// C#
public override MembershipUser GetUser(string userName, bool userIsOnline);

パラメータ

- userName
情報を取得する対象のユーザーの名前。

- userIsOnline
メソッドがユーザーの最後のアクティビティの日時スタンプを更新するかどうかを示すブール値。値がtrueに設定されている場合は、更新されます。それ以外の場合、メソッドは最後のアクティビティの日時スタンプを更新しないでユーザー情報を戻します。

戻り値

指定されたユーザーの情報がデータベースから移入されるMembershipUserオブジェクト。

例外

ArgumentException - userNameパラメータが空の文字列であるか、カンマを含むか、256文字を超えています。

ArgumentNullException - userNameパラメータがnullです。

備考

GetUserメソッドは、ユーザーの最後のアクティビティ日時スタンプを更新するオプションを提供します。

GetUserメソッドは、指定されたユーザーに関する情報が移入されたMembershipUserオブジェクトを戻します。ユーザー名がデータベースに見つからない場合、GetUserメソッドはnull参照を戻します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

GetUserNameByEmail

このメソッドは、指定された電子メール・アドレスに関連付けられているユーザー名を戻します。

宣言

// C#
public override string GetUserNameByEmail(string emailAddress);

パラメータ

- emailAddress
検索する電子メール・アドレス。

戻り値

指定された電子メール・アドレスに関連付けられているユーザー名。一致が見つからない場合は、null参照が戻されます。

例外

ArgumentException - 電子メール・アドレスが256文字を超えています。

System.Configuration.Provider.ProviderException - 同じ電子メール・アドレスを持つ複数のユーザーがデータベースに存在し、RequiresUniqueEmailプロパティがtrueです。

備考

RequiresUniqueEmailプロパティの値がtrueの場合は、一意の電子メール・アドレスが各ユーザー名に関連付けられている必要があります。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

Initialize

このメソッドは、OracleMembershipプロバイダを、ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値で初期化します。

宣言

// C#
public override void Initialize(string name, NameValueCollection config);

パラメータ

- name
初期化するOracleMembershipプロバイダ・インスタンスの名前。

- config
このプロバイダの構成で指定されているプロバイダ固有属性を表す名前/値のペアのコレクション。

例外

ArgumentNullException - configパラメータがnull値です。

InvalidOperationException - プロバイダが初期化された後に、そのプロバイダに対してInitializeメソッドを呼び出そうとしました。

HttpException - 現在の信頼レベルが「低」未満です。

System.Configuration.Provider.ProviderException - 次のいずれかがアプリケーション構成ファイルに当てはまります。

- enablePasswordRetrieval、enablePasswordReset、requiresQuestionAndAnswerまたはrequiresUniqueEmail属性がブール値以外の値に設定されています。

- maxInvalidPasswordAttemptsまたはpasswordAttemptWindow属性が、正の整数以外の値に設定されています。

- minRequiredPasswordLength属性が正の整数でない値に設定されているか、値が128を超えています。

- minRequiredNonalphanumericCharacters属性が負の整数に設定されているか、値が128を超えています。

- passwordStrengthRegularExpression属性の値が有効な正規表現ではありません。

- applicationName属性の値が256文字を超えています。

- passwordFormat属性の値が無効なMembershipPasswordFormat列挙値です。

- passwordFormat属性がHashedに設定され、enablePasswordRetrieval属性がtrueに設定されています。

- passwordFormat属性がEncryptedに設定され、machineKey構成要素がdecryptionKey属性に対してAutoGenerateを指定しています。

- connectionStringName属性が空であるか、アプリケーション構成ファイルに存在しません。

- connectionStringName属性値の接続文字列の値が空であるか、指定されたconnectionStringNameがアプリケーション構成ファイルに存在しません。

- commandTimeout属性の値が負の整数に設定されています。

- このOracleMembershipProviderインスタンスのアプリケーション構成ファイルには、認識されていない属性が含まれます。

備考

Initializeメソッドは、アプリケーションによって直接呼び出されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

ResetPassword

このメソッドは、ユーザーのパスワードをリセットし、自動的に生成された新しいパスワードを戻します。

宣言

// C#
public override string ResetPassword(string userName, string passwordAnswer);

パラメータ

- userName
パスワードをリセットする対象のユーザー。

- passwordAnswer
指定されたユーザーのパスワードに対する回答。

戻り値

指定されたユーザーの新しいパスワード。

例外

ArgumentNullException - userNameパラメータがnull参照であるか、RequiresQuestionAndAnswerプロパティがtrueのときにpasswordAnswerパラメータがnullです。

System.Web.Security.MembershipPasswordException - passwordAnswerパラメータが無効であるか、userNameパラメータで識別されるユーザーがロックされています。

ArgumentException - 次のいずれかの条件が存在します。

- userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。

- passwordAnswerパラメータが空の文字列であり、RequiresQuestionAndAnswerプロパティがtrueです。または、passwordAnswerパラメータが128文字(エンコードされたバージョンを含む)を超えています。

System.Configuration.Provider.ProviderException - 次のいずれかの条件が存在します。

- userNameがメンバーシップ・データベースに見つかりませんでした。

- パスワード・リセット操作がValidatingPasswordイベントのサブスクライバによって取り消され、FailureInformationプロパティがnull参照でした。

- メンバーシップ・データベースでのパスワードのリセット時にエラーが発生しました。

NotSupportedException - EnablePasswordResetプロパティがfalseに設定されています。

例外 - 処理されない例外が発生しました。

備考

先頭および末尾の空白はuserNameパラメータ値とpasswordAnswerパラメータ値から削除されます。

ResetPasswordメソッドは、PasswordFormatプロパティがHashedに設定されている場合に最もよく使用されます。ユーザーが、ハッシュ形式のパスワードを忘れた場合は、パスワードを取得できません。ただし、ユーザーがパスワードに対する正しい回答を提供した場合、プロバイダはパスワードを新しい自動生成パスワードにリセットできます。ResetPasswordメソッドでは、EnablePasswordResetプロパティがtrueに設定されている必要があります。パスワードに対する不正な回答がResetPasswordメソッドに指定されている場合は、無効なパスワードの試行を追跡する内部カウンタが1つ増やされます。これにより、ユーザーがロックされ、UnlockUserメソッドの呼び出しによってロック・ステータスがクリアされるまでログオンできなくなることがあります。パスワードに対する正しい回答が指定され、ユーザーが現在ロックされていない場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタがゼロにリセットされます。

ResetPasswordメソッドによって生成されたランダム・パスワードは、PasswordStrengthRegularExpressionプロパティの正規表現を渡すことが保証されていません。ただし、ランダム・パスワードは、MinRequiredPasswordLengthおよびMinRequiredNonAlphanumericCharactersプロパティで設定された基準を満たします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

UnlockUser

このメソッドは、ユーザーをロック解除してユーザーを検証できるようにします。

宣言

// C#
public override bool UnLockUser(string userName);

パラメータ

- userName
ロック解除するユーザーの名前。

戻り値

ユーザーが正常にロック解除された場合はtrueを戻し、それ以外の場合はfalseを戻します。

例外

ArgumentException - userNameパラメータが空の文字列であるか、カンマを含むか、256文字を超えています。

ArgumentNullException - userNameパラメータがnullです。

備考

先頭および末尾の空白はuserNameパラメータ値から削除されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

UpdateUser

このメソッドは、データベース内のユーザーに関する情報を更新します。

宣言

// C#
public override void UpdateUser(MembershipUser membershipUser);

パラメータ

- membershipUser
ユーザー情報が移入されるMembershipUserオブジェクト。

例外

ArgumentException - 次のいずれかの条件が存在します。

- membershipUserのuserNameプロパティが空の文字列であるか、カンマが含まれているか、256文字を超えています。

- membership Userのemailプロパティが空の文字列であり、Requires Unique Em ailプロパティがtrueに設定されているか、mailプロパティが256文字を超えています。

Argument Null Exception - membership Userパラメータがnullであるか、membership Userパラメータのsurnameまたはmailプロパティがnullです。

System.Configuration.Provider.ProviderException - 次のいずれかの条件が存在します。

- membership Userパラメータのsurnameプロパティがメンバーシップ・データベースに見つかりません。

- membership Userパラメータのmailプロパティがメンバーシップ・データベース内の既存の電子メール・アドレスと等しく、Requires Unique Em ailプロパティがtrueに設定されます。

- メンバーシップ・データベースでのユーザーの更新時にエラーが発生しました。

備考

指定されたユーザーのMail、Comment、IsApproved、Last Login DateおよびLastActivityDateプロパティ値は、変更してからUpdateUserメソッドで更新できます。ただし、ユーザーのパスワードは変更および更新できません。ユーザーのパスワードを更新するには、MembershipUserクラスのChangePasswordメソッドを使用します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

ValidateUser

このメソッドはユーザーを検証します。

宣言

// C#
public override bool ValidateUser(string userName, string password);

パラメータ

- userName
検証するユーザーの名前。

- password
指定されたユーザーのパスワード。

戻り値

指定されたユーザー名とパスワードが有効な場合はtrueを戻し、有効でないかユーザーがデータベースに存在しない場合はfalseを戻します。

備考

先頭および末尾の空白はuserNameパラメータ値とpasswordパラメータ値から削除されます。

ユーザーが正常に検証された場合、最後のアクティビティ日とサインイン日の値がデータベース内で現在の日時に更新されます。

ValidateUserメソッドは、isApprovedパラメータをfalseに設定して作成された任意のユーザーについてfalseを戻します。

ValidateUserメソッドに対して不正なパスワードが指定された場合は、無効なパスワードの試行を追跡する内部カウンタが1つ増やされます。これにより、ユーザーがロックされ、UnlockUserメソッドの呼び出しによってロック・ステータスがクリアされるまでログオンできなくなることがあります。正しいパスワードが指定され、ユーザーが現在ロックされていない場合は、無効なパスワードおよびパスワードに対する無効な回答の試行を追跡する内部カウンタがゼロにリセットされます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

OracleMembershipProviderパブリック・イベント

OracleMembershipProviderパブリック・イベントを、表2-10にリストします。

表2-10 OracleMembershipProviderパブリック・イベント

パブリック・イベント

説明

ValidatingPassword

System.Web.Security.MembershipProviderからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleMembershipProviderクラス

- OracleMembershipProviderメンバー

3 OracleRoleProvider

この章では、OracleRoleProviderクラスについて説明します。

関連項目:
ASP.NETのロール管理およびロール・プロバイダ: http://msdn.microsoft.com/en-us/library/9ab2fxh0.aspx

この章の内容は次のとおりです。

- OracleRoleProviderクラス

OracleRoleProviderクラス

OracleRoleProviderクラスにより、ASP.NETアプリケーションは、ロールおよびユーザー情報をOracleデータベースに格納できます。

クラスの継承

System.Object

System.Configuration.Provider.ProviderBase

System.Web.Security.RoleProvider

Oracle.Web.Security

宣言

// C#
public class OracleRoleProvider : RoleProvider

スレッド安全性

すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。

備考

このクラスにより、ASP.NETアプリケーションは、Oracleデータベースにロール情報を格納し、管理できます。

このプロバイダによって管理されるロール情報は、アプリケーション・ロールで、データベース・ロールではないことに注意してください。

例

次に、OracleRoleProviderクラスをデフォルト・プロバイダとして使用するASP.NETアプリケーションのweb.configの例を示します。この構成では、machine.configファイルで指定された接続文字列とデフォルト属性値を使用します。

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<roleManager enabled="true" defaultProvider="OracleRoleProvider"/>
</system.web>
</configuration>

次に、OracleRoleProviderをデフォルト・プロバイダとして使用し、カスタマイズされた設定とアプリケーション固有の接続文字列を使用するASP.NETアプリケーションのweb.configの例を示します。

<?xml version="1.0"?>
<configuration xmlns=
"http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="my_role_app_con_string" connectionString=
"User Id=scott;Password=tiger;Data Source=Oracle"/>
</connectionStrings>
<system.web>
<!-- Enable and customize OracleRoleProvider -->
<roleManager enabled="true" defaultProvider="MyOracleRoleProvider">
<providers>
<add name="MyOracleRoleProvider"
type="Oracle.Web.Security.OracleRoleProvider,
Oracle.Web, Version=2.112.2.0, Culture=neutral,
PublicKeyToken=89b483f429c47342"
connectionStringName="my_role_app_con_string"
applicationName="my_role_app"/>
</providers>
</roleManager>
</system.web>
</configuration>

applicationName属性は、ASP.NETアプリケーションごとに一意の値に設定する必要があります。

要件

ネームスペース: Oracle.Web.Security

アセンブリ: Oracle.Web.dll

Oracle Providers for ASP.NETのバージョン: Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderメンバー

- OracleRoleProviderコンストラクタ

- OracleRoleProvider静的メソッド

- OracleRoleProviderパブリック・プロパティ

- OracleRoleProviderパブリック・メソッド

OracleRoleProviderメンバー

次の表にOracleRoleProviderメンバーをリストします。

OracleRoleProviderコンストラクタ

OracleRoleProviderコンストラクタを、表3-1にリストします。

表3-1 OracleRoleProviderコンストラクタ

コンストラクタ

説明

OracleRoleProviderコンストラクタ

OracleRoleProviderクラスの新規インスタンスをインスタンス化します

OracleRoleProvider静的メソッド

OracleRoleProvider静的メソッドを、表3-2にリストします。

表3-2 OracleRoleProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

OracleRoleProviderパブリック・プロパティ

OracleRoleProviderパブリック・プロパティを、表3-3にリストします。

表3-3 OracleRoleProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

ロール・プロバイダ情報を格納するアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

OracleRoleProviderパブリック・メソッド

OracleRoleProviderパブリック・メソッドを、表3-4にリストします。

表3-4 OracleRoleProviderパブリック・メソッド

パブリック・メソッド

説明

AddUsersToRoles

指定されたロールに指定されたユーザーを追加します

CreateRole

データベースに新しいロールを追加します

DeleteRole

データベース内のロールを削除します

Equals

System.Objectからの継承(オーバーロード)

FindUsersInRole

指定されたユーザー名に一致するユーザー名の配列を戻します

GetAllRoles

アプリケーションのすべてのロールの配列を戻します

GetHashCode

System.Objectからの継承

GetRolesForUser

指定されたユーザーのロール名の配列を戻します

GetType

System.Objectからの継承

GetUsersInRole

指定されたロール名のユーザーの配列を戻します

Initialize

ASP.NETアプリケーション構成ファイルで指定されたプロパティ値でOracleRoleProviderを初期化します

IsUserInRole

指定されたユーザーが指定されたロールに存在するかどうかを示します

RemoveUsersFromRoles

指定されたロール名の配列から指定されたユーザーの配列を削除します

RoleExists

指定されたロール名がデータベースに存在するかどうかを示します

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

OracleRoleProviderコンストラクタ

OracleRoleProviderコンストラクタは、OracleRoleProviderクラスのインスタンスを作成します。

オーバーロード・リスト:

- OracleRoleProvider()
このコンストラクタでは、OracleRoleProviderクラスのインスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

OracleRoleProvider()

このコンストラクタでは、OracleRoleProviderクラスのインスタンスが作成されます。

宣言

// C#
public OracleRoleProvider();

備考

このコンストラクタでは、OracleRoleProviderクラスの新規インスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

OracleRoleProvider静的メソッド

OracleRoleProvider静的メソッドを、表3-5にリストします。

表3-5 OracleRoleProvider静的メソッド

静的メソッド

説明

Equals(オーバーロード)

System.Objectからの継承

ReferenceEquals

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

OracleRoleProviderパブリック・プロパティ

OracleRoleProviderパブリック・プロパティを、表3-6にリストします。

表3-6 OracleRoleProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

ロール・プロバイダ情報を格納するアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

ApplicationName

このプロパティでは、ロール・プロバイダ情報を格納するアプリケーションの名前を取得または設定します。

宣言

// C#
public override string ApplicationName{get; set;};

プロパティ値

アプリケーションの名前。applicationName属性がアプリケーション構成ファイルで指定されていない場合、または値が空の文字列の場合は、このプロパティがアプリケーションの仮想パスに設定されます。

例外

HttpException - ApplicationNameプロパティを設定しているユーザーに、高いASP.NETホスティング権限がありません。

System.Configuration.Provider.ProviderException - ApplicationNameプロパティが、256文字を超える文字列に設定されています。

備考

ApplicationNameプロパティの文字列値は、様々なアプリケーションでのユーザー名とロール名の関連付けに使用されます。複数のアプリケーションが、重複する名前間で競合を発生させずに、同じデータベースを使用してユーザー名とロール名を格納できます。このプロパティは、プログラムで設定するか、Webアプリケーション構成ファイルでapplicationName属性を使用して宣言で設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

ApplicationNameプロパティはスレッドセーフではありません。プログラミング・コードでは、ユーザーにWebアプリケーションでのApplicationNameプロパティの設定を許可しないことをお薦めします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

CommandTimeout

このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。

宣言

// C#
public int CommandTimeout {get;}

プロパティ値

int

備考

プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。

デフォルト値は30秒です。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

OracleRoleProviderパブリック・メソッド

OracleRoleProviderパブリック・メソッドを、表3-7にリストします。

表3-7 OracleRoleProviderパブリック・メソッド

パブリック・メソッド

説明

AddUsersToRoles

指定されたロールに指定されたユーザーを追加します

CreateRole

データベースに新しいロールを追加します

DeleteRole

データベース内のロールを削除します

Equals

System.Objectからの継承(オーバーロード)

FindUsersInRole

指定されたユーザー名に一致するユーザー名の配列を戻します

GetAllRoles

アプリケーションのすべてのロールの配列を戻します

Get Hash Code

System.Objectからの継承

GetRolesForUser

指定されたユーザーのロール名の配列を戻します

Getup

System.Objectからの継承

GetUsersInRole

指定されたロール名のユーザーの配列を戻します

Initialize

ASP.NETアプリケーション構成ファイルで指定されたプロパティ値でOracleRoleProviderを初期化します

IsUserInRole

指定されたユーザーが指定されたロールに存在するかどうかを示します

RemoveUsersFromRoles

指定されたロール名の配列から指定されたユーザーの配列を削除します

RoleExists

指定されたロール名がデータベースに存在するかどうかを示します

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

AddUsersToRoles

このメソッドは、指定されたロールに指定されたユーザーを追加します。

宣言

// C#
public override void AddUsersToRoles(string[] userNames, string[] roleNames);

パラメータ

- userNames
ロールに追加するユーザー名の配列。

- roleNames
ユーザー名を追加するロール名の配列。

例外

ArgumentNullException - userNames内のいずれかのユーザーまたはroleNames内のいずれかのロールがnullです。

ArgumentException - roleNamesまたはuserNamesパラメータが空の文字列であるか、カンマを含むか、256文字を超えているか、重複する要素を含んでいます。

System.Configuration.Provider.ProviderException - 1つ以上のロール名が見つからなかったか、1つ以上のユーザー名がすでに1つ以上のロール名に関連付けられています。

OracleException - Oracle関連のエラーが発生しました。

備考

このメソッドは、1つ以上の指定されたロールに1つ以上のユーザー名を追加します。更新は、トランザクションで実行されます。エラーが発生した場合は、トランザクションがロールバックされ、更新は行われません。

いずれかのユーザー名がデータベースに存在しない場合は、ユーザー名が作成され、データベースに追加されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

CreateRole

このメソッドは、データベースに新しいロールを追加します。

宣言

// C#
public override void CreateRole(string roleName);

パラメータ

- roleName
データベース内で作成されるロール名。

例外

ArgumentNullException - roleNameパラメータがnullです。

ArgumentException - roleNameパラメータが空の文字列であるか、カンマを含むか、または256文字を超えています。

System.Configuration.Provider.ProviderException - ロール名はすでにデータベースに存在します。

OracleException - Oracle関連のエラーが発生しました。

備考

このメソッドは、データベースに新しいロールを作成します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

DeleteRole

このメソッドは、データベース内のロールを削除します。

宣言

// C#
public override bool DeleteRole(string roleName, bool throwOnPopulatedRole);

パラメータ

- roleName
データベースから削除されるロール名。

- throwOnPopulatedRole
trueに設定されている場合は、ロールにユーザー名が含まれていると例外の原因となることを示すブール値。値がfalseに設定されている場合は、ロールをデータベースから削除します。

戻り値

指定されたロールが正常に削除された場合はtrueを戻し、それ以外の場合はfalseを戻します。

例外

ArgumentNullException - roleNameパラメータがnullです。

System.Configuration.Provider.ProviderException - ロール名に少なくとも1つのユーザー名が含まれ、throwOnPopulatedRoleパラメータがtrueに設定されています。

OracleException - Oracle関連のエラーが発生しました。

ArgumentException - roleNameパラメータが空の文字列であるか、カンマを含むか、256文字を超えています。

備考

throwOnPopulatedRoleパラメータがfalseに設定されている場合は、指定されたロールにユーザーが含まれているかどうかにかかわらず、そのロールがデータベースから削除されます。throwOnPopulatedRoleパラメータがtrueに設定されている場合は、データベース内の指定されたロールにユーザーが含まれていると、例外がスローされ、ロールは削除されません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

FindUsersInRole

このメソッドは、指定されたロール名について、指定されたユーザー名に一致するユーザー名の配列を戻します。

宣言

// C#
public override string[ ] FindUsersInRole(string roleName, string
userNameToMatch);

パラメータ

- roleName
データベースで検索されるロール名。

- userNameToMatch
検索されるユーザー名。

戻り値

指定されたロール内の、指定されたuserNameToMatchパラメータに一致するユーザー名を含む文字列配列。

例外

ArgumentNullException - roleNameまたはuserNameToMatchパラメータがnullです。

OracleException - Oracle関連のエラーが発生しました。

System.Configuration.Provider.ProviderException - ロール名がデータベースに存在しません。

ArgumentException - 次のいずれかの条件が存在します。

- roleNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。

- userNameToMatchパラメータが空の文字列であるか、256文字を超えています。

備考

このメソッドは、指定されたロール名について、指定されたユーザー名に一致するユーザー名の配列を戻します。このメソッドでは、Oracleワイルドカード文字がサポートされます。userNameToMatchパラメータが"oraUser%"に設定されている場合は、"oraUser1"、"oraUser2"などのユーザーの配列が戻されます。一方、userNameToMatchパラメータが"oraUser"に設定されている場合は、"oraUser"があればユーザー名"oraUser"のみの配列が戻されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

GetAllRoles

このメソッドは、アプリケーションのすべてのロールの配列を戻します。

宣言

// C#
public override string[ ] GetAllRoles();

戻り値

アプリケーションに対するデータベース内のすべてのロール名を含む文字列配列。

例外

OracleException - Oracle関連のエラーが発生しました。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

GetRolesForUser

このメソッドは、指定されたユーザーのロール名の配列を戻します。

宣言

// C#
public override string[] GetRolesForUser(string userName);

パラメータ

- userName
ロール名の配列が戻される対象のユーザー名。

戻り値

指定されたユーザー名のロール名の配列。

例外

ArgumentNullException - userNameパラメータがnullです。

ArgumentException - userNameパラメータがカンマを含むか、256文字を超えています。

OracleException - Oracle関連のエラーが発生しました。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

GetUsersInRole

このメソッドは、指定されたロール名のユーザーの配列を戻します。

宣言

// C#
public override string[ ] GetUsersInRole(string roleName);

パラメータ

- roleName
ユーザーの配列が戻される対象のロール名。

戻り値

指定されたロール名のユーザー名の配列。

例外

ArgumentNullException - roleNameパラメータがnullです。

OracleException - Oracle関連のエラーが発生しました。

System.Configuration.Provider.ProviderException - ロール名がデータベースに存在しません。

ArgumentException - roleNameパラメータが空の文字列であるか、カンマを含むか、256文字を超えています。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

Initialize

このメソッドは、OracleRoleProviderインスタンスを、ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値で初期化します。

宣言

// C#
public override void Initialize(string name, NameValueCollection config);

パラメータ

- name
初期化するOracleRoleProviderインスタンスの名前。

- config
ロール・プロバイダの構成オプションの名前と値を含むSystems.Collections.Specialized.NameValueCollectionオブジェクト。

例外

System.Web.HttpException - ASP.NETが中程度以上の信頼レベルで実行されていません。

ArgumentNullException - configパラメータがnullです。

System.Configuration.Provider.ProviderException - connectionStringName属性が空であるか、構成ファイルに存在しません。または、applicationName属性が256文字を超えているか、構成ファイルに無効な属性が含まれています。

備考

Initializeメソッドは、アプリケーションによって直接呼び出されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

IsUserInRole

このメソッドは、指定されたユーザーが指定されたロール内にあるかどうかを示します。

宣言

// C#
public override bool IsUserInRole(string userName, string roleName);

パラメータ

- userName
検索されるユーザー名。

- roleName
検索されるロール名。

戻り値

指定されたユーザー名が指定されたロール名にある場合はtrueを戻し、それ以外の場合はfalseを戻します。

例外

ArgumentNullException - userNameまたはroleNameパラメータがnullです。

OracleException - Oracle関連のエラーが発生しました。

ArgumentException - 次のいずれかの条件が存在します。

- roleNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。

- userNameパラメータにカンマが含まれているか、256文字を超えています。

備考

このメソッドでは、指定されたユーザー名がデータベース内の指定されたロール名に存在するかどうかが判断されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

RemoveUsersFromRoles

このメソッドは、指定されたロール名の配列から指定されたユーザーの配列を削除します。

宣言

// C#
public override void RemoveUsersFromRoles(string[] userNames, string[] roleNames);

パラメータ

- userNames
ロール名から削除するユーザー名の配列。

- roleNames
ユーザー名を削除するロール名の配列。

例外

ArgumentNullException - userNamesパラメータ内のいずれかのユーザーまたはroleNamesパラメータ内のいずれかのロールがnullです。

OracleException - Oracle関連のエラーが発生しました。

System.Configuration.Provider.ProviderException - 1つ以上のロール名またはユーザー名がデータベースに存在しないか、1つ以上のユーザー名がロール名に関連付けられていません。

ArgumentException - roleNamesまたはuserNamesパラメータが空の文字列であるか、カンマを含むか、256文字を超えているか、重複する要素を含んでいます。

備考

このメソッドは、指定されたロール名の配列から指定されたユーザー名の配列を削除します。更新はトランザクション内で行われます。エラーが発生した場合は、トランザクションがロールバックされます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

RoleExists

このメソッドは、指定されたロール名がデータベースに存在するかどうかを示します。

宣言

// C#
public override bool RoleExists(string roleName);

パラメータ

- roleName
データベースで検索されるロール名。

戻り値

ロール名が存在する場合はtrueを戻し、それ以外の場合はfalseを戻します。

例外

ArgumentNullException - roleNameパラメータがnullです

OracleException - Oracle関連のエラーが発生しました。

ArgumentException - roleNameパラメータが空の文字列であるか、カンマを含むか、または256文字を超えています。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleRoleProviderクラス

- OracleRoleProviderメンバー

4 OracleSiteMapProvider

この章では、OracleSiteMapProviderクラスについて説明します。

関連項目:
ASP.NETのサイト・ナビゲーションおよびサイト・マップ・プロバイダ: http://msdn.microsoft.com/en-us/library/ms227558.aspx

この章の内容は次のとおりです。

- OracleSiteMapProviderクラス

OracleSiteMapProviderクラス

このクラスにより、ASP.NETアプリケーションは、Oracleデータベースからサイト・マップ情報を取得できます。

クラスの継承

System.Object

System.Configuration.Provider.ProviderBase

System.Web.SiteMapProvider

System.Web.StaticSiteMapProvider

Oracle.Web.SiteMap.OracleSiteMapProvider

宣言

// C#
Public class OracleSiteMapProvider: StaticSiteMapProvider, IDisposable

スレッド安全性

すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。

備考

このクラスにより、ASP.NETアプリケーションは、Oracleデータベースからサイト・マップ情報を読取りおよびロードできます。

例

次に、OracleSiteMapProviderをデフォルト・プロバイダとして使用するASP.NETアプリケーションのweb.configの例を示します。この構成では、machine.configファイルで指定された接続文字列とデフォルト属性値を使用します。

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<siteMap defaultProvider="OracleSiteMapProvider"/>
</system.web>
</configuration>

次に、OracleSiteMapProviderをデフォルト・プロバイダとして使用し、カスタマイズされた設定とアプリケーション固有の接続文字列を使用するASP.NETアプリケーションのweb.configの例を示します。

<?xml version="1.0"?>
<configuration xmlns=
"http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="my_sitemap_app_con_string" connectionString=
"User Id=scott;Password=tiger;Data Source=Oracle"/>
</connectionStrings>
<system.web>
<!-- Enable and customize OracleSiteMapProvider -->
<siteMap defaultProvider="CustomOracleSiteMapProvider">
<providers>
<add name="CustomOracleSiteMapProvider"
type="Oracle.Web.SiteMap.OracleSiteMapProvider,
Oracle.Web, Version=2.112.2.0, Culture=neutral,
PublicKeyToken=89b483f429c47342"
connectionStringName="my_sitemap_app_con_string"
applicationName="my_sitemap_app"
securityTrimmingEnabled="false"/>
</providers>
</siteMap>
</system.web>
</configuration>

applicationName属性は、ASP.NETアプリケーションごとに一意の値に設定する必要があります。

要件

ネームスペース: Oracle.Web.SiteMap

アセンブリ: Oracle.Web.dll

Oracle Providers for ASP.NETのバージョン: Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4

Oracle Database 10gリリース2(10.2)以降では、OracleSiteMapProviderに変更通知権限が必要です。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderメンバー

- OracleSiteMapProviderコンストラクタ

- OracleSiteMapProviderパブリック・プロパティ

- OracleSiteMapProviderパブリック・メソッド

OracleSiteMapProviderメンバー

次の表にOracleSiteMapProviderメンバーをリストします。

OracleSiteMapProviderコンストラクタ

OracleSiteMapProviderコンストラクタを、表4-1にリストします。

表4-1 OracleSiteMapProviderコンストラクタ

コンストラクタ

説明

OracleSiteMapProviderコンストラクタ

OracleSiteMapProviderクラスの新規インスタンスをインスタンス化します

OracleSiteMapProvider静的メソッド

OracleSiteMapProvider静的メソッドを、表4-2にリストします。

表4-2 OracleSiteMapProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

OracleSiteMapProviderパブリック・プロパティ

OracleSiteMapProviderパブリック・プロパティを、表4-3にリストします。

表4-3 OracleSiteMapProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

異なるアプリケーションのサイト・マップ・データを区別するアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

CurrentNode

System.Web.SiteMapProviderからの継承(読取り専用)

Description

System.Configuration.Provider.Providerbaseからの継承

EnableLocalization

System.Web.SiteMapProviderからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

ParentProvider

System.Web.SiteMapProviderからの継承

ResourceKey

System.Web.SiteMapProviderからの継承

RootNode

System.Web.SiteMapProviderからの継承(読取り専用)

RootProvider

System.Web.SiteMapProviderからの継承

SecurityTrimmingEnabled

System.Web.SiteMapProviderからの継承

OracleSiteMapProviderパブリック・メソッド

OracleSiteMapProviderパブリック・メソッドを、表4-4にリストします。

表4-4 OracleSiteMapProviderパブリック・メソッド

パブリック・メソッド

説明

BuildSiteMap

Oracleデータベースからサイト・マップ・データをロードすることにより、SiteMapNodeオブジェクトのSiteMapツリーを構築します

Dispose

このインスタンスのすべてのリソースを解放します

FindSiteMapNode

System.Web.StaticSiteMapProviderからの継承

FindSiteMapNodeFromKey

System.Web.StaticSiteMapProviderからの継承

GetChildNodes

System.Web.StaticSiteMapProviderからの継承

GetCurrentNodeAndHintAncestorNodes

System.Web.SiteMapProviderからの継承

GetCurrentNodeAndHintNeighborhoodNodes

System.Web.SiteMapProviderからの継承

GetParentNode

System.Web.StaticSiteMapProviderからの継承

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent

System.Web.SiteMapProviderからの継承

GetParentNodeRelativeToNodeAndHintDownFromParent

System.Web.SiteMapProviderからの継承

HintAncestorNodes

System.Web.SiteMapProviderからの継承

IsAccessibleToUser

System.Web.SiteMapProviderからの継承

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

Initialize

ASP.NETアプリケーション構成ファイルで指定されたプロパティ値でOracleSiteMapProviderインスタンスを初期化します

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

OracleSiteMapProviderコンストラクタ

このコンストラクタでは、OracleSiteMapProviderクラスの新規インスタンスがインスタンス化されます。

オーバーロード・リスト:

- OracleSiteMapProvider()
このコンストラクタでは、OracleSiteMapProviderクラスのインスタンスが作成されます。

関連項目:

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

OracleSiteMapProvider()

このコンストラクタでは、OracleSiteMapProviderクラスの新規インスタンスがインスタンス化されます。

宣言

// C#
public OracleSiteMapProvider();

備考

OracleSiteMapProviderコンストラクタは、アプリケーションの構成ファイルで指定されたOracleSiteMapProviderクラスのインスタンスを作成するために、ASP.NETによって呼び出されます。OracleSiteMapProviderオブジェクトの初期化値は、Initializeメソッドを通じて渡されます。

このコンストラクタは、アプリケーションで直接使用されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

OracleSiteMapProvider静的メソッド

OracleSiteMapProvider静的メソッドを、表4-5にリストします。

表4-5 OracleSiteMapProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

OracleSiteMapProviderパブリック・プロパティ

OracleSiteMapProviderパブリック・プロパティを、表4-6にリストします。

表4-6 OracleSiteMapProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

異なるアプリケーションのサイト・マップ・データを区別するアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

CurrentNode

System.Web.SiteMapProviderからの継承

Description

System.Configuration.Provider.Providerbaseからの継承

EnableLocalization

System.Web.SiteMapProviderからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

ParentProvider

System.Web.SiteMapProviderからの継承

ResourceKey

System.Web.SiteMapProviderからの継承

RootNode

System.Web.SiteMapProviderからの継承

RootProvider

System.Web.SiteMapProviderからの継承

SecurityTrimmingEnabled

System.Web.SiteMapProviderからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

ApplicationName

このプロパティでは、異なるアプリケーションのサイト・マップ・データを区別するアプリケーションの名前を取得または設定します。

宣言

// C#
public string ApplicationName{get; set;}

プロパティ値

アプリケーションの名前。applicationName属性がアプリケーション構成ファイルで指定されていない場合、または値が空の文字列の場合は、このプロパティがアプリケーションの仮想パスに設定されます。

例外

HttpException - ApplicationNameプロパティが、高いASP.NETホスティング権限を持たないユーザーによって設定されました。

System.Configuration.Provider.ProviderException - 指定されたアプリケーション名が256文字を超えています。

ArgumentException - 指定されたアプリケーション名が空の文字列またはnull参照です。

備考

ApplicationNameプロパティの文字列値は、ユーザー情報の編成に使用されます。

ユーザー情報はアプリケーション名ごとに一意に格納されるため、複数のASP.NETアプリケーションが、同じデータ・ソースを使用したり、重複するユーザー名を作成したりできます。このプロパティは、プログラムで設定するか、Webアプリケーションの構成ファイルでapplicationName属性を使用して宣言で設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

ApplicationNameプロパティはスレッドセーフではありません。プログラム・コードでは、ユーザーにWebアプリケーションでのApplicationNameプロパティの設定を許可しないことをお薦めします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

CommandTimeout

このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。

宣言

// C#
public int CommandTimeout {get;}

プロパティ値

int

備考

プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。

デフォルト値は30秒です。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

OracleSiteMapProviderパブリック・メソッド

OracleSiteMapProviderパブリック・メソッドを、表4-7にリストします。

表4-7 OracleSiteMapProviderパブリック・メソッド

パブリック・メソッド

説明

BuildSiteMap

Oracleデータベースからサイト・マップ・データをロードすることにより、SiteMapNodeオブジェクトのSiteMapツリーを構築します

Dispose

このインスタンスのすべてのリソースを解放します

FindSiteMapNode

System.Web.StaticSiteMapProviderからの継承

FindSiteMapNodeFromKey

System.Web.StaticSiteMapProviderからの継承

GetChildNodes

System.Web.StaticSiteMapProviderからの継承

GetCurrentNodeAndHintAncestorNodes

System.Web.SiteMapProviderからの継承

GetCurrentNodeAndHintNeighborhoodNodes

System.Web.SiteMapProviderからの継承

GetParentNode

System.Web.StaticSiteMapProviderからの継承

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent

System.Web.SiteMapProviderからの継承

GetParentNodeRelativeToNodeAndHintDownFromParent

System.Web.SiteMapProviderからの継承

HintAncestorNodes

System.Web.SiteMapProviderからの継承

IsAccessibleToUser

System.Web.SiteMapProviderからの継承

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

Initialize

ASP.NETアプリケーションの構成ファイルで指定されたプロパティ値でOracleSiteMapProviderインスタンスを初期化します

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

BuildSiteMap

このメソッドは、Oracleデータベースからサイト・マップ・データをロードすることにより、SiteMapNodeオブジェクトのSiteMapツリーを構築します。

宣言

// C#
Public override SiteMapNode BuildSiteMap();

戻り値

サイト・マップ・ナビゲーション構造のルートSiteMapNode。

例外

InvalidOperationException - OracleSiteMapProviderインスタンスが初期化されていません。

ProviderException - 次のいずれかの条件が存在します。

- ルート・ノードが見つかりません

- 複数のルート・ノードが見つかりました。

- ノードの親ノードが見つかりません。

ConfigurationErrorsException - 次のいずれかの条件が存在します。

- SiteMapNodeのロールに有効でない文字が含まれています。

- URLが、一意でないSiteMapNodeに対して解析されています。

- SiteMapNodeオブジェクトで、重複するKeyの値が検出されました。

- SiteMapNodeのURLの解析中にエラーが発生しました。

備考

このメソッドは、データベースからサイト・マップ・データをフェッチし、サイト・マップ・ノードのツリーをメモリーに作成します。OracleSiteMapProviderオブジェクトでは、データベース変更通知をサブスクライブして、データベース内のサイト・マップ・データの変更について通知を受けることを選択できます。このメソッドはスレッドセーフです。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

- 変更通知の詳細は、Oracle Data Provider for .NET開発者ガイドを参照してください。

Dispose

このメソッドは、このインスタンスのすべてのリソースを解放します。

宣言

// C#
public override void Dispose();

備考

このメソッドは、アプリケーション・ドメインが閉じられたときにこのインスタンスのすべてのリソースを解放します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

Initialize

このメソッドは、OracleSiteMapProviderインスタンスを、ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値で初期化します。

宣言

// C#
Public override void Initialize(string name, NameValueCollection config);

パラメータ

- name
初期化するOracleSiteMapProviderインスタンスの名前。

- config
サイト・マップ・プロバイダの構成オプションの名前と値を含むSystems.Collections.Specialized.NameValueCollectionオブジェクト。

例外

ArgumentNullException - configパラメータがnullです。

InvalidOperationException - SiteMapProviderはすでに初期化されています。

ProviderException - 次のいずれかの条件が存在します。

- 構成ファイル内のconnectionStringName属性がnullまたは空です。

- connectionStringName属性の値に対応する接続文字列がnullまたは空です。

- 構成ファイルに、認識されない属性が含まれています。

- プロバイダの初期化中にエラーが発生しました。

備考

Initializeメソッドは、アプリケーションによって直接呼び出されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSiteMapProviderクラス

- OracleSiteMapProviderメンバー

5 OracleSessionStateStore

この章では、OracleSessionStateStoreクラスについて説明します。

関連項目:
ASP.NETのセッション状態およびセッション状態プロバイダ: http://msdn.microsoft.com/en-us/library/ms178581.aspx

この章の内容は次のとおりです。

- OracleSessionStateStoreクラス

OracleSessionStateStoreクラス

OracleSessionStateStoreクラスにより、ASP.NETアプリケーションは、セッション情報をOracleデータベースに格納できます。

クラスの継承

System.Object

System.Configuration.Provider.ProviderBase

System.Web.SessionState.SessionStateStoreProviderBase

Oracle.Web.SessionState

宣言

// C#
public class OracleSessionStateStore : SessionStateStoreProviderBase

スレッド安全性

すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。

備考

このクラスにより、ASP.NETアプリケーションは、Oracleデータベースにセッション状態情報を格納し、管理できます。このプロバイダが管理するセッション情報は、データベース・セッション情報ではなくアプリケーション・セッション情報を管理することに注意してください。

期限切れのセッション・データはデータベースから定期的に削除されます。

例

次に、OracleSessionStateStoreをデフォルト・プロバイダとして使用し、カスタマイズされた設定とアプリケーション固有の接続文字列を使用するASP.NETアプリケーションのweb.configの例を示します。

<?xml version="1.0"?>
<configuration xmlns=
"http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="my_sessionstate_app_con_string" connectionString=
"User Id=scott;Password=tiger;Data Source=Oracle"/>
</connectionStrings>
<system.web>
<!-- Enable and customize OracleSessionStateProvider -->
<sessionState mode="Custom" customProvider="MyOracleSessionStateStore">
<providers>
<add name="MyOracleSessionStateStore"
type="Oracle.Web.SessionState.OracleSessionStateStore,
Oracle.Web, Version=2.112.2.0, Culture=neutral,
PublicKeyToken=89b483f429c47342"
connectionStringName="my_sessionstate_app_con_string"/>
</providers>
</sessionState>
</system.web>
</configuration>

要件

ネームスペース: Oracle.Web.SessionState

アセンブリ: Oracle.Web.dll

Oracle Providers for ASP.NETのバージョン: Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreメンバー

- OracleSessionStateStoreコンストラクタ

- OracleSessionStateStoreパブリック・メソッド

- OracleSessionStateStoreパブリック・プロパティ

OracleSessionStateStoreメンバー

次の表にOracleSessionStateStoreメンバーをリストします。

OracleSessionStateStoreコンストラクタ

OracleSessionStateStoreコンストラクタを、表5-1にリストします。

表5-1 OracleSessionStateStoreコンストラクタ

コンストラクタ

説明

OracleSessionStateStoreコンストラクタ

OracleSessionStateStoreクラスの新規インスタンスをインスタンス化します

OracleSessionStateStoreパブリック・プロパティ

OracleSessionStateStoreパブリック・プロパティを、表5-2にリストします。

表5-2 OracleSessionStateStoreパブリック・プロパティ

パブリック・プロパティ

説明

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

OracleSessionStateStoreパブリック・メソッド

OracleSessionStateStoreパブリック・メソッドを、表5-3にリストします。

表5-3 OracleSessionStateStoreパブリック・メソッド

パブリック・メソッド

説明

CreateNewStoreData

現在のリクエストに対して新しいSessionStateStoreDataオブジェクトを作成します

CreateUninitializedItem

データベースに新しいセッション状態項目を追加します

Dispose

このインスタンスのすべてのリソースを解放します

EndRequest

OracleSessionStateStoreオブジェクトが、現在のリクエストに必要な可能性のあるクリーンアップを実行できるようにします

GetItem

データベースから読取り専用セッション項目を戻します

GetItemExclusive

データベースのセッション項目をロックして戻します

Initialize

ASP.NETアプリケーションの構成ファイルで指定されたプロパティ値でプロバイダを初期化します

InitializeRequest

OracleSessionStateStoreプロバイダが必要とするリクエストごとの初期化を実行します

ReleaseItemExclusive

セッション項目の取得試行が複数回失敗した場合に、データベース内のセッション項目に対するロックを解除します

RemoveItem

指定されたセッション項目をデータベースから削除します

ResetItemTimeout

データベース内のセッション項目の失効日とタイムアウトをリセットします

SetAndReleaseItemExclusive

指定されたセッション項目でデータベース内のセッション時間情報を更新し、ロックを解除します

SetItemExpireCallback

期限切れのセッションのコールバックがサポートされていないことを示すfalse値を戻します

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

OracleSessionStateStoreコンストラクタ

OracleSessionStateStoreコンストラクタでは、OracleSessionStateStoreクラスの新規インスタンスをインスタンス化します。

オーバーロード・リスト:

- OracleSessionStateStore()
このコンストラクタでは、OracleSessionStateStoreクラスのインスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

OracleSessionStateStore()

このコンストラクタでは、OracleSessionStateStoreクラスの新規インスタンスがインスタンス化されます。

宣言

// C#
public OracleSessionStateStore();

備考

このコンストラクタでは、OracleSessionStateStoreクラスの新規インスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

OracleSessionStateStoreパブリック・プロパティ

OracleSessionStateStoreパブリック・プロパティを、表5-4にリストします。

表5-4 OracleSessionStateStoreパブリック・プロパティ

パブリック・プロパティ

説明

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

CommandTimeout

このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。

宣言

// C#
public int CommandTimeout {get;}

プロパティ値

int

備考

プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。

デフォルト値は30秒です。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

OracleSessionStateStoreパブリック・メソッド

OracleSessionStateStoreパブリック・メソッドを、表5-5にリストします。

表5-5 OracleSessionStateStoreパブリック・メソッド

パブリック・メソッド

説明

CreateNewStoreData

現在のリクエストに対して新しいSessionStateStoreDataオブジェクトを作成します

CreateUninitializedItem

データベースに新しいセッション状態項目を追加します

Dispose

このインスタンスのすべてのリソースを解放します

EndRequest

OracleSessionStateStoreオブジェクトが、現在のリクエストに必要な可能性のあるクリーンアップを実行できるようにします

GetItem

データベースから読取り専用セッション項目を戻します

GetItemExclusive

データベースのセッション項目をロックして戻します

Initialize

ASP.NETアプリケーションの構成ファイルで指定されたプロパティ値でプロバイダを初期化します

InitializeRequest

OracleSessionStateStoreプロバイダが必要とするリクエストごとの初期化を実行します

ReleaseItemExclusive

セッション項目の取得試行が複数回失敗した場合に、データベース内のセッション項目に対するロックを解除します

RemoveItem

指定されたセッション項目をデータベースから削除します

ResetItemTimeout

データベース内のセッション項目の失効日とタイムアウトをリセットします

SetAndReleaseItemExclusive

指定されたセッション項目でデータベース内のセッション時間情報を更新し、ロックを解除します

SetItemExpireCallback

期限切れのセッションのコールバックがサポートされていないことを示すfalse値を戻します

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

CreateNewStoreData

このメソッドは、現在のリクエストに対して新しいSessionStateStoreDataオブジェクトを作成します。

宣言

// C#
public override SessionStateStoreData CreateNewStoreData(HttpContext context,
int timeout);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

- timeout
作成されるSessionStateStoreDataオブジェクトのタイムアウト値。

戻り値

現在のリクエストに対する新しいSessionStateStoreDataオブジェクト。

備考

このメソッドは、HttpContextとタイムアウト値に基づいて、現在のリクエストに対して新しいSessionStateStoreDataオブジェクトを作成します。リクエストにセッションIDが含まれていない場合、またはデータベースに見つからないセッションのセッションIDがリクエストに含まれている場合は、SessionStateModuleがASP.NETページに対するリクエストの先頭でこのメソッドを呼び出します。このメソッドは、空のISessionStateItemCollectionオブジェクト、HttpStaticObjectsCollectionコレクションおよび指定されたタイムアウト値で新しいSessionStateStoreDataオブジェクトを作成します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

CreateUninitializedItem

このメソッドは、データベースに新しいセッション状態項目を追加します。

宣言

// C#
public override void CreateUninitializedItem(HttpContext context, string id,
int timeout);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

- id
現在のリクエストのセッションID。

- timeout
現在のリクエストのタイムアウト値。

例外

ArgumentNullException - 入力パラメータはNullです。

OracleException - Oracle関連のエラーが発生しました。

備考

このメソッドは、データベースに初期化されていないセッション状態エントリを追加し、cookieless属性とregenerateExpiredId属性がどちらもtrueに設定されている場合に呼び出されます。

新しいセッションIDを作成した後で、このメソッドが呼び出され、この新しいセッションIDを持つ初期化されていないエントリがデータベースに格納されます。ブラウザは、新しいセッションIDを含むURLにリダイレクトされます。新しいセッションIDはデータベースに存在するため、期限切れのセッションIDと競合しません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

Dispose

このメソッドは、このインスタンスのすべてのリソースを解放します。

宣言

// C#
public override void Dispose();

備考

このメソッドは、アプリケーション・ドメインが閉じられたときにこのインスタンスのすべてのリソースを解放します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

EndRequest

このメソッドは、OracleSessionStateStoreオブジェクトが現在のリクエストに必要な可能性のあるクリーンアップを実行できるようにします。

宣言

// C#
public override void EndRequest(HttpContext context);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

備考

このメソッドは、リクエストの最後にSessionStateModuleオブジェクトによって呼び出されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

GetItem

このメソッドは、データベースから読取り専用セッション項目を戻します。

宣言

// C#
public override SessionStateStoreData GetItem(HttpContext context, string id,
out bool locked, out TimeSpan lockAge, out Object lockId,
out SessionStateActions actions);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

- id
現在のリクエストのセッションID。

- locked
セッション項目がデータベース内でロックされている場合はtrueで、それ以外の場合はfalseであるブール値。

- lockAge
セッション項目がデータベース内でロックされていた時間の長さを示すTimeSpanオブジェクト。

- lockId
ロック識別子オブジェクト。

- actions
セッションが初期化されず、cookieがないかどうかを示すSessionStateActions列挙値。

戻り値

データベースからのセッション情報を含むSessionStateStoreDataオブジェクト。

例外

ArgumentNullException - 入力パラメータはNullです。

OracleException - Oracle関連のエラーが発生しました。

System.Configuration.Provider.ProviderException - セッション状態情報が無効であり、破損している可能性があります。

備考

このメソッドは、データベースから読取り専用SessionStateStoreDataオブジェクトを戻し、セッション項目の失効日を更新します。このメソッドは、リクエストの先頭でセッション状態サービスによって呼び出されます。ページのEnableSessionState属性がReadOnlyに設定されている場合にのみ呼び出されます。

セッション・データが見つからない場合は、lockedパラメータがfalseに設定され、null参照が戻されます。セッション状態サービスは、CreateNewStoreDataメソッドを呼び出して、データベースに新しいセッション項目を作成します。

セッション・データがデータベースでロックされている場合は、lockedパラメータがtrueに設定され、lockAgeパラメータは、データベースでセッション項目がロックされていた時間の長さに設定されます。lockIdパラメータはロック識別子に設定され、null参照が戻されます。セッション状態サービスは、このメソッドを0.5秒間隔で呼び出し続けます。lockAge値がHttpRuntimeSection.ExecutionTimeout値を超えた場合、セッション状態サービスはReleaseItemExclusiveメソッドを呼び出してロックを解除します。さらに、GetItemメソッドを再度呼び出します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

GetItemExclusive

このメソッドは、セッション項目をロックし、データベースからそのセッション項目を戻します。

宣言

// C#
public override SessionStateStoreData GetItemExclusive(HttpContext context,
string id, out bool locked, out TimeSpan lockAge, out Object lockId,
out SessionStateActions actions);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

- id
現在のリクエストのセッションID。

- locked
セッション項目がデータベース内で正常にロックされた場合はtrueで、それ以外の場合はfalseであるブール値。

- lockAge
セッション項目がデータベース内でロックされていた時間の長さを示すTimeSpanオブジェクト。

- lockId
ロック識別子オブジェクト。

- actions
セッションが初期化されず、cookieがないかどうかを示すSessionStateActions列挙値。

戻り値

データベースからのセッション情報を含むSessionStateStoreDataオブジェクト。

例外

ArgumentNullException - 入力パラメータはNullです。

OracleException - Oracle関連のエラーが発生しました。

System.Configuration.Provider.ProviderException - セッション状態情報が無効であり、破損している可能性があります。

備考

このメソッドは、データベースからSessionStateStoreDataオブジェクトを戻し、セッション項目の失効日を更新します。このメソッドは、ページ内の属性がデフォルト値のtrueに設定されている場合にのみ呼び出されます。セッション項目は、他のリクエストによって現在使用されていない場合にのみ取得されます。リクエストの継続中は、データベース内のセッション項目がロックされます。

セッション・データが見つからない場合は、lockedパラメータがfalseに設定され、null参照が戻されます。セッション状態サービスは、CreateNewStoreDataメソッドを呼び出して、データベースにnewsession項目を作成します。

セッション・データがデータベースでロックされている場合は、lockedパラメータがtrueに設定され、lockAgeパラメータは、データベースでセッション項目がロックされていた時間の長さに設定されます。lockIdパラメータはロック識別子に設定され、null参照が戻されます。セッション状態サービスは、このメソッドを0.5秒間隔で呼び出し続けます。lockAge値がExecutionTimeout値を超えた場合、セッション状態サービスはReleaseItemExclusiveメソッドを呼び出してロックを解除します。さらに、GetItemExclusiveメソッドを再度呼び出します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

Initialize

このメソッドは、プロバイダを、ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値で初期化します。

宣言

// C#
public override void Initialize(string name, NameValueCollection config);

パラメータ

- name
初期化するプロバイダ・インスタンスの名前。

- config
プロバイダの構成オプションの名前と値を含むSystems.Collections.Specialized.NameValueCollectionオブジェクト。

例外

ArgumentNullException - configパラメータがnullです。

System.Configuration.Provider.ProviderException - connectionStringName属性が空であるか、構成ファイルに存在しません。または、構成ファイルに無効な属性が見つかりました。

備考

Initializeメソッドは、アプリケーションによって直接呼び出されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

InitializeRequest

このメソッドは、OracleSessionStateStoreプロバイダが必要とするリクエストごとの初期化を実行します。

宣言

// C#
public override void InitializeRequest(HttpContext context);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

例外

ArgumentNullException - contextパラメータがnullです。

備考

このメソッドは、他のメソッドを呼び出す前にセッション状態サービスによって呼び出されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

ReleaseItemExclusive

このメソッドは、セッション項目の取得試行が複数回失敗した場合に、データベース内のセッション項目に対するロックを強制的に解除します。

宣言

// C#
public override void ReleaseItemExclusive(HttpContext context, string id,
Object lockId);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

- id
現在のリクエストのセッションID。

- lockId
現在のリクエストのロック識別子。

例外

ArgumentNullException - 入力パラメータはNullです。

OracleException - Oracle関連のエラーが発生しました。

備考

このメソッドは、データベース内のセッション項目に対するロックを解除し、失効日を更新するために、セッション状態サービスによって呼び出されます。SessionStateModuleは、セッション値が変更されていない場合、またはロックがHttpRuntimeSection.ExecutionTimeoutプロパティ値を超えている場合に、リクエストの最後にこのメソッドを呼び出します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

RemoveItem

このメソッドは、指定されたセッション項目をデータベースから削除します。

宣言

// C#
public override void RemoveItem(HttpContext context, string id, Object lockId,
SessionStateStoreData item);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

- id
現在のリクエストのセッションID。

- lockId
現在のリクエストのロック識別子。

- item
データベースから削除するセッション項目。

例外

ArgumentNullException - 入力パラメータはNullです。

OracleException - Oracle関連のエラーが発生しました。

備考

セッション状態サービスは、このメソッドを呼び出して、指定されたセッション項目をデータベースから削除します。アプリケーションは、Session.Abandonメソッドを呼び出して、セッションを取り消すことができます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

ResetItemTimeout

このメソッドは、データベース内のセッション項目の失効日とタイムアウトをリセットします。

宣言

// C#
public override void ResetItemTimeout(HttpContext context, string id);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

- id
現在のリクエストのセッションID。

例外

ArgumentNullException - 入力パラメータはNullです。

OracleException - Oracle関連のエラーが発生しました。

備考

セッション状態サービスは、このメソッドを呼び出して、データベース内のセッション項目の失効日とタイムアウトを現在の日時にリセットします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

SetAndReleaseItemExclusive

このメソッドは、指定されたセッション項目でデータベース内のセッション時間情報を更新し、ロックを解除します。

宣言

// C#
public override void SetAndReleaseItemExclusive(HttpContext context, string id,
SessionStateStoreDataItem item, Object lockId, bool newItem);

パラメータ

- context
現在のリクエストのHttpContextオブジェクト。

- id
現在のリクエストのセッションID。

- item
データベース内のセッション項目を更新する新しい値を含むセッション項目。

- LockId
現在のリクエストのロック識別子。

- newItem
セッション項目がデータベース内で新規かどうかを示すブール値。false値は、既存の項目を示します。

例外

ArgumentNullException - 入力パラメータはNullです。

OracleException - Oracle関連のエラーが発生しました。

備考

セッション項目が変更された場合、セッション状態サービスは、リクエストの最後にこのメソッドを呼び出して、指定されたセッション値でデータベース内に新規項目を作成するか、既存のセッション項目を更新します。このメソッドは、セッション項目の期限も更新し、セッション・データに対するロックを解除します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

SetItemExpireCallback

このメソッドは、期限切れのセッションのコールバックがサポートされないことを示すfalse値を戻します。

宣言

// C#
public override bool SetItemExpireCallback(SessionStateItemExpireCallback
expireCallback);

パラメータ

- expireCallback
Global.asaxファイルで定義されているSession_OnEndイベントの委任。

戻り値

false値。

備考

このメソッドは、期限切れのセッションのコールバックがサポートされないことを示すfalse値を常に戻します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleSessionStateStoreクラス

- OracleSessionStateStoreメンバー

6 OracleProfileProvider

この章では、OracleProfileProviderクラスについて説明します。

関連項目:
ASP.NETのプロファイル・プロパティおよびプロファイル・プロバイダ: http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx

この章の内容は次のとおりです。

- OracleProfileProviderクラス

OracleProfileProviderクラス

OracleProfileProviderにより、ASP.NET開発者は、Webサイト・ユーザー・プロファイル情報をOracleデータベースに簡単に格納できます。

クラスの継承

System.Object

System.Configuration.Provider.ProviderBase

System.Configuration.SettingsProvider

System.Web.Profile.ProfileProvider

Oracle.Web.Profile.OracleProfileProvider

宣言

// C#
public class OracleProfileProvider: ProfileProvider

スレッド安全性

すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。

備考

このクラスにより、ASP.NETアプリケーションは、Oracleデータベースにプロファイル情報を格納し、管理できます。

例

次に、OracleProfileProviderをデフォルト・プロバイダとして使用するASP.NETアプリケーションのweb.configファイルの例を示します。この構成では、machine.configファイルで指定された接続文字列とデフォルト属性値を使用します。プロファイルのプロパティは、プロパティ・セクションで指定されます。また、この例では、匿名IDを有効にし、匿名ユーザーにプロパティの設定を許可します。

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<anonymousIdentification enabled="true"/>
<profile enabled="true" defaultProvider="OracleProfileProvider">
<!-- Profile properties -->
<properties>
<add name="hire_date" allowAnonymous="true" type="DateTime"/>
<add name="location" allowAnonymous="true"
defaultValue="Redwood Shores"/>
<add name="experience" allowAnonymous="true" type="int"/>
</properties>
</profile>
</system.web>
</configuration>

次に、OracleProfileProviderをカスタマイズされた設定およびアプリケーション固有の接続文字列とともに使用するASP.NETアプリケーションのweb.configファイルの例を示します。プロファイルのプロパティは、プロパティ・セクションで指定されます。また、この例では、匿名IDを有効にし、匿名ユーザーにプロパティの設定を許可します。

<?xml version="1.0"?>
<configuration xmlns=
"http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="my_profile_app_con_string" connectionString=
"User Id=scott;Password=tiger;Data Source=Oracle"/>
</connectionStrings>
<system.web>
<!-- Enable and customize OracleProfileProvider settings -->
<anonymousIdentification enabled="true"/>
<profile enabled="true" defaultProvider="MyOracleProfileProvider">
<providers>
<add name="MyOracleProfileProvider"
type="Oracle.Web.Profile.OracleProfileProvider,
Oracle.Web, Version=2.112.2.0, Culture=neutral,
PublicKeyToken=89b483f429c47342"
connectionStringName="my_profile_app_con_string"
applicationName="my_profile_app"/>
</providers>
<!-- Profile properties -->
<properties>
<add name="hire_date" allowAnonymous="true" type="DateTime"/>
<add name="location" allowAnonymous="true"
defaultValue="Redwood Shores"/>
<add name="experience" allowAnonymous="true" type="int"/>
</properties>
</profile>
</system.web>
</configuration>

applicationName属性は、ASP.NETアプリケーションごとに一意の値に設定する必要があります。

要件

ネームスペース: Oracle.Web.Profile

アセンブリ: Oracle.Web.dll

Oracle Providers for ASP.NETのバージョン: Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderメンバー

- OracleProfileProviderコンストラクタ

- OracleProfileProvider静的メソッド

- OracleProfileProviderパブリック・プロパティ

- OracleProfileProviderパブリック・メソッド

OracleProfileProviderメンバー

次の表にOracleProfileProviderメンバーをリストします。

OracleProfileProviderコンストラクタ

OracleProfileProviderコンストラクタを、表6-1にリストします。

表6-1 OracleProfileProviderコンストラクタ

コンストラクタ

説明

OracleProfileProviderコンストラクタ

OracleProfileProviderクラスの新規インスタンスをインスタンス化します

OracleProfileProvider静的メソッド

OracleProfileProvider静的メソッドを、表6-2にリストします。

表6-2 OracleProfileProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

OracleProfileProviderパブリック・プロパティ

OracleProfileProviderパブリック・プロパティを、表6-3にリストします。

表6-3 OracleProfileProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

プロファイル情報をグループ化するアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

OracleProfileProviderパブリック・メソッド

OracleProfileProviderパブリック・メソッドを、表6-4にリストします。

表6-4 OracleProfileProviderパブリック・メソッド

パブリック・メソッド

説明

DeleteInactiveProfiles

最後のアクティビティ日が指定された日時またはそれより前であるユーザー・プロファイル・データを削除します

DeleteProfiles

指定されたプロファイル・コレクションまたはユーザー名のリストについて、プロファイルのプロパティと情報をデータ・ソースから削除します(オーバーロード)

Equals

System.Objectからの継承(オーバーロード)

FindInactiveProfilesByUserName

指定されたユーザー名の非アクティブなプロファイル情報を取得します

FindProfilesByUserName

指定されたユーザー名のプロファイル情報を取得します

GetAllInactiveProfiles

最後のアクティビティ日が指定された日時またはそれより前であるプロファイルのプロファイル情報をすべて取得します

GetAllProfiles

データ・ソースからすべてのプロファイル情報を取得します

GetHashCode

System.Objectからの継承

GetNumberOfInactiveProfiles

最後のアクティビティ日が指定された日時またはそれより前であるすべてのプロファイルの数を戻します

GetPropertyValues

Oracleプロファイル・データベースからプロファイルのプロパティと値を取得します

GetType

System.Objectからの継承

Initialize

ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値でOracleProfileProviderインスタンスを初期化します

SetPropertyValues

指定されたプロファイル・プロパティ値でOracleプロファイル・データベースを更新します

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

OracleProfileProviderコンストラクタ

このコンストラクタでは、OracleProfileProviderクラスの新規インスタンスがインスタンス化されます。

オーバーロード・リスト:

- OracleProfileProvider()
このコンストラクタでは、OracleProfileProviderクラスのインスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

OracleProfileProvider()

このコンストラクタでは、OracleProfileProviderクラスの新規インスタンスがインスタンス化されます。

宣言

// C#
public OracleProfileProvider();

備考

このコンストラクタは、アプリケーションの構成ファイルで指定されたOracleProfileProviderクラスのインスタンスを作成するためにASP.NETによって呼び出されます。OracleProfileProviderインスタンスの初期化値は、Initializeメソッドを通じて渡されます。

このコンストラクタは、アプリケーションで直接使用されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

OracleProfileProvider静的メソッド

OracleProfileProvider静的メソッドを、表6-5にリストします。

表6-5 OracleProfileProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

OracleProfileProviderパブリック・プロパティ

OracleProfileProviderパブリック・プロパティを、表6-6にリストします。

表6-6 OracleProfileProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

プロファイル情報をグループ化するアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

ApplicationName

このプロパティでは、プロファイル情報をグループ化するアプリケーションの名前を取得または設定します。

宣言

// C#
public override string ApplicationName{get; set;}

プロパティ値

アプリケーションの名前。applicationName属性がアプリケーション構成ファイルで指定されていない場合、または値が空の文字列の場合は、このプロパティがアプリケーションの仮想パスに設定されます。

例外

HttpException - ApplicationNameプロパティが、高いASP.NETホスティング権限を持たない呼び出し元によって設定されました。

System.Configuration.Provider.ProviderException - 指定されたアプリケーション名が256文字を超えています。

ArgumentException - 指定されたアプリケーション名が空の文字列またはnull参照です。

備考

ApplicationNameプロパティの文字列値は、ユーザー情報の編成に使用されます。

ユーザー情報はアプリケーション名ごとに一意に格納されるため、複数のASP.NETアプリケーションが、同じデータ・ソースを使用したり、重複するユーザー名を作成したりできます。このプロパティは、プログラムで設定するか、Webアプリケーションの構成ファイルでapplicationName属性を使用して宣言で設定できます。構成ファイルの属性名は、大文字と小文字が区別されます。

ApplicationNameプロパティはスレッドセーフではありません。アプリケーション・コードでは、ユーザーにWebアプリケーションでのApplicationNameプロパティの設定を許可しないことをお薦めします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

CommandTimeout

このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。

宣言

// C#
public int CommandTimeout {get;}

プロパティ値

int

備考

プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。

デフォルト値は30秒です。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

OracleProfileProviderパブリック・メソッド

OracleProfileProviderパブリック・メソッドを、表6-7にリストします。

表6-7 OracleProfileProviderパブリック・メソッド

パブリック・メソッド

説明

DeleteInactiveProfiles

最後のアクティビティ日が指定された日時またはそれより前であるユーザー・プロファイル・データを削除します

DeleteProfiles

指定されたプロファイル・コレクションまたはユーザー名のリストについて、プロファイルのプロパティと情報をデータ・ソースから削除します(オーバーロード)

Equals

System.Objectからの継承(オーバーロード)

FindInactiveProfilesByUserName

指定されたユーザー名の非アクティブなプロファイル情報を取得します

FindProfilesByUserName

指定されたユーザー名のプロファイル情報を取得します

GetAllInactiveProfiles

最後のアクティビティ日が指定された日時またはそれより前であるプロファイルのプロファイル情報をすべて取得します

GetAllProfiles

データ・ソースからすべてのプロファイル情報を取得します

GetHashCode

System.Objectからの継承

GetNumberOfInactiveProfiles

最後のアクティビティ日が指定された日時またはそれより前であるすべてのプロファイルの数を戻します

GetPropertyValues

Oracleプロファイル・データベースからプロファイルのプロパティと値を取得します

GetType

System.Objectからの継承

Initialize

ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値でOracleProfileProviderインスタンスを初期化します

SetPropertyValues

指定されたプロファイル・プロパティ値でOracleプロファイル・データベースを更新します

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

DeleteInactiveProfiles

このメソッドは、最後のアクティビティ日が指定された日時またはそれより前であるユーザー・プロファイル・データを削除します。

宣言

// C#
public override int DeleteInactiveProfiles(ProfileAuthenticationOption
profileAuthenticationOption, DateTime inactiveSinceDateTime);

パラメータ

- profileAuthenticationOption
オプションは、削除するプロファイルを示すAnonymous、Authenticated、またはAllです。

- inactiveSinceDateTime
プロファイルが非アクティブであることを示す中断日時。

戻り値

データ・ソースから削除された非アクティブなプロファイル数を示す整数値。

備考

このメソッドは、構成ファイルのapplicationName属性で指定されたアプリケーションについて、非アクティブなプロファイル・データをデータ・ソースから削除します。profileAuthenticationOptionパラメータでは、匿名プロファイルのみ、認証されたプロファイルのみ、またはすべてのプロファイルのいずれを検索するかを指定します。このメソッドでは、最後のアクティビティの発生日時が指定されたinactiveSinceDateTimeパラメータ値またはそれより前であるプロファイルがすべて削除されます。

プロファイルの削除操作はトランザクション操作です。エラーが発生した場合は、トランザクションがロールバックされ、変更は行われません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

DeleteProfiles

このメソッドは、指定されたプロファイル・コレクションまたはユーザー名のリストについて、プロファイルのプロパティと情報をデータ・ソースから削除します。

オーバーロード・リスト

- DeleteProfiles(ProfileInfoCollection)
このメソッドは、指定されたプロファイル・コレクションについて、プロファイルのプロパティと情報をデータ・ソースから削除します。

- DeleteProfiles(string[])
このメソッドは、指定されたユーザー名のリストについて、プロファイルのプロパティと情報をデータ・ソースから削除します。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

DeleteProfiles(ProfileInfoCollection)

このメソッドは、指定されたプロファイル・コレクションについて、プロファイルのプロパティと情報をデータ・ソースから削除します。

宣言

// C#
public override int DeleteProfiles(ProfileInfoCollection profileInfoCollection);

パラメータ

- profileInfoCollection
削除するプロファイルのプロファイル情報を含むProfileInfoCollectionオブジェクト。

戻り値

データ・ソースから削除されたプロファイル数を示す整数値。

例外

ArgumentException - 次のいずれかの条件が存在します。

- profileInfoCollectionパラメータのCountの値が0です。

- profileInfoCollectionコレクション内のProfileInfoオブジェクトの1つに、空の文字列である、256文字を超えている、カンマを含む、などの無効なUserNameプロパティがあります。

ArgumentNullException - 次のいずれかの条件が存在します。

- profileInfoCollectionパラメータがnull参照です。

- profileInfoCollectionコレクション内のProfileInfoオブジェクトの1つに、null参照であるUserNameプロパティがあります。

備考

このメソッドは、構成ファイルのapplicationName属性で指定されたアプリケーションについて、指定されたプロファイル・コレクションのすべてのプロファイル・プロパティと情報をデータ・ソースから削除します。ProfileInfoCollectionオブジェクトは、GetAllProfiles、GetAllInactiveProfiles、FindProfilesByUserName、FindInactiveProfilesByUserNameの各メソッドから取得できます。

提供されたコレクションのプロファイルの一部がデータ・ソースに見つからないため、戻される値は、指定されたコレクションのCount値とは異なる場合があります。

プロファイルの削除操作はトランザクション操作です。エラーが発生した場合は、トランザクションがロールバックされ、変更は行われません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

DeleteProfiles(string[])

このメソッドは、指定されたユーザー名のリストについて、プロファイルのプロパティと情報をデータ・ソースから削除します。

宣言

// C#
public override int DeleteProfiles(string[] userNames);

パラメータ

- userNames
プロファイルを削除するユーザー名の文字列配列。

戻り値

データ・ソースから削除されたプロファイル数を示す整数値。

例外

ArgumentNullException - userNamesパラメータがnull参照であるか、userNames配列の項目の1つにnull参照があります。

ArgumentException - 次のいずれかの条件が存在します。

- userNames配列のlengthが0です。

- userNames配列内の項目の1つに、空の文字列である、256文字を超えている、カンマを含む、などの無効なユーザー名があります。

- userNames配列内に重複するユーザー名があります。

備考

このメソッドは、構成ファイルのapplicationName属性で指定されたアプリケーションの指定されたユーザー名のリストについて、すべてのプロファイルのプロパティと情報をデータ・ソースから削除します。

プロファイルの一部がデータ・ソースに見つからないため、戻される値は、指定されたユーザー名の文字列配列の長さとは異なる場合があります。

プロファイルの削除操作はトランザクション操作です。エラーが発生した場合は、トランザクションがロールバックされ、変更は行われません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

FindInactiveProfilesByUserName

このメソッドは、指定されたユーザー名の非アクティブなプロファイル情報を取得します。

宣言

// C#
public override ProfileInfoCollection FindInactiveProfilesByUserName
(ProfileAuthenticationOption profileAuthenticationOption, string userName,
DateTime inactiveSinceDateTime,int pageIndex, int pageSize,
out int totalRecords);

パラメータ

- profileAuthenticationOption
非アクティブなプロファイルを見つけるために検索するAnonymous、AuthenticatedまたはAllプロファイル。

- userName
照合するユーザー名。

- inactiveSinceDateTime
プロファイルが非アクティブであることを示す中断日時。

- pageIndex
結果ページのゼロベース索引。

- pageSize
結果ページのページ・サイズ。

- totalRecords
プロファイルの総数。

戻り値

ユーザー名が指定されたユーザー名に一致する非アクティブ・ユーザー・プロファイルを含むProfileInfoCollectionオブジェクト。

例外

ArgumentException - 次のいずれかの条件が存在します。

- userNameパラメータが空の文字列であるか、256文字を超えています。

- pageSizeパラメータが1未満です。

- pageIndexパラメータが0未満であるか、pageIndexにpageSizeを乗算した値がInt32.MaxValueを超えています。

ArgumentNullException - userNameパラメータがnull参照です。

備考

このメソッドは、構成ファイルのapplicationName属性で指定されたアプリケーションについて、非アクティブなプロファイルをデータ・ソースから取得します。profileAuthenticationOptionパラメータでは、匿名プロファイルのみ、認証されたプロファイルのみ、またはすべてのプロファイルのいずれを検索するかを指定します。OracleProfileProviderオブジェクトでは、LIKEキーワードを使用して指定されたuserNameパラメータの一致が検索され、パーセント記号(%)を使用したワイルドカード文字がサポートされます。このメソッドでは、最後のアクティビティ日時が指定されたinactiveSinceDateTimeパラメータ値またはそれより前であるプロファイルが取得されます。

このメソッドから戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、ProfileInfoCollectionオブジェクトで戻すProfileInfoオブジェクトの数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。totalRecordsパラメータは、userNameパラメータおよびinactiveSinceDateTimeパラメータに一致する非アクティブなユーザー・プロファイルの総数を表す出力パラメータです。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

FindProfilesByUserName

このメソッドは、指定されたユーザー名のプロファイル情報を取得します。

宣言

// C#
public override ProfileInfoCollection FindProfilesByUserName
(ProfileAuthenticationOption profileAuthenticationOption, string userName,
int pageIndex, int pageSize, out int totalRecords);

パラメータ

- profileAuthenticationOption
アクティブなプロファイルを見つけるために検索するAnonymous、AuthenticatedまたはAllプロファイル。

- userName
照合するユーザー名。

- pageIndex
結果ページのゼロベース索引。

- pageSize
結果ページのページ・サイズ。

- totalRecords
プロファイルの総数。

戻り値

ユーザー名が指定されたユーザー名に一致するユーザー・プロファイルを含むProfileInfoCollectionオブジェクト。

例外

ArgumentException - 次のいずれかの条件が存在します。

- userNameパラメータが空の文字列であるか、256文字を超えています。

- pageSizeパラメータ値が1未満です。

- pageIndexパラメータ値が0未満であるか、pageIndexにpageSizeを乗算した値がInt32.MaxValueを超えています。

ArgumentNullException - userNameパラメータがnull参照です。

備考

このメソッドは、構成ファイルのapplicationName属性で指定されたアプリケーションについて、データ・ソースからプロファイルを取得します。profileAuthenticationOptionパラメータでは、匿名プロファイルのみ、認証されたプロファイルのみ、またはすべてのプロファイルのいずれを検索するかを指定します。OracleProfileProviderオブジェクトでは、LIKEキーワードを使用して指定されたuserNameパラメータの一致が検索され、パーセント記号(%)を使用したワイルドカード文字がサポートされます。

このメソッドから戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、ProfileInfoCollectionオブジェクトで戻すProfileInfoオブジェクトの数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。totalRecordsパラメータは、userNameパラメータに一致する非アクティブなユーザー・プロファイルの総数を表す出力パラメータです。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

GetAllInactiveProfiles

このメソッドは、最後のアクティビティ日が指定された日時またはそれより前であるプロファイルのプロファイル情報をすべて取得します。

宣言

// C#
public override ProfileInfoCollection GetAllInactiveProfiles
(ProfileAuthenticationOption profileAuthenticationOption, DateTime
inactiveSinceDateTime, int pageIndex, int pageSize, out int totalRecords);

パラメータ

- profileAuthenticationOption
検索するAnonymous、AuthenticatedまたはAllプロファイル。

- inactiveSinceDateTime
非アクティブなプロファイルを示す中断日時。

- pageIndex
結果ページのゼロベース索引。

- pageSize
結果ページのページ・サイズ。

- totalRecords
プロファイルの総数。

戻り値

指定された非アクティブな日時に一致する非アクティブ・ユーザー・プロファイルを含むProfileInfoCollectionオブジェクト。

例外

ArgumentException - 次のいずれかの条件が存在します。

- pageSizeパラメータ値が1未満です。

- pageIndexパラメータ値が0未満であるか、pageIndexにpageSizeを乗算した値がInt32.MaxValueを超えています。

備考

このメソッドは、構成ファイルのapplicationName属性で指定されたアプリケーションについて、非アクティブなプロファイルをデータ・ソースから取得します。profileAuthenticationOptionパラメータでは、匿名プロファイルのみ、認証されたプロファイルのみ、またはすべてのプロファイルのいずれを検索するかを指定します。このメソッドでは、最後のアクティビティ日時が指定されたinactiveSinceDateTimeパラメータ値またはそれより前であるプロファイルが取得されます。

戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、ProfileInfoCollectionオブジェクトで戻すProfileInfoオブジェクトの数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。値はゼロベースであるため、ゼロは最初のページを示します。totalRecordsパラメータは、inactiveSinceDateTimeパラメータに一致した非アクティブ・ユーザーの総数を表す出力パラメータです。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

GetAllProfiles

このメソッドは、すべてのプロファイル情報をデータ・ソースから取得します。

宣言

// C#
public override ProfileInfoCollection GetAllProfiles(ProfileAuthenticationOption
profileAuthenticationOption, int pageIndex, int pageSize,     out int totalRecords);

パラメータ

- profileAuthenticationOption
検索するAnonymous、AuthenticatedまたはAllプロファイル。

- pageIndex
結果ページの0ベース索引。

- pageSize
結果ページのページ・サイズ

- totalRecords
プロファイルの総数。

戻り値

データ・ソースからのすべてのユーザー・プロファイルを含むProfileInfoCollectionオブジェクト。

例外

ArgumentException - 次のいずれかの条件が存在します。

- pageSizeパラメータが1未満です。

- pageIndexパラメータが0未満であるか、pageIndexにpageSizeを乗算した値がInt32.MaxValueを超えています。

備考

このメソッドは、構成ファイルのapplicationName属性で指定されたアプリケーションについて、すべてのプロファイルをデータ・ソースから取得します。profileAuthenticationOptionパラメータでは、匿名プロファイルのみ、認証されたプロファイルのみ、またはすべてのプロファイルのいずれを検索するかを指定します。

戻される結果は、pageIndexパラメータとpageSizeパラメータによって制約されます。pageSizeパラメータは、ProfileInfoCollectionオブジェクトで戻すProfileInfoオブジェクトの数を示します。pageIndexパラメータは、結果のどのページを戻すかを示します。totalRecordsパラメータは、取得したユーザーの総数を表す出力パラメータです。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

GetNumberOfInactiveProfiles

このメソッドは、最後のアクティビティ日が指定された日時またはそれより前であるすべてのプロファイルの数を戻します。

宣言

// C#
public override int GetNumberOfInactiveProfiles
(ProfileAuthenticationOption profileAuthenticationOption,
DateTime inactiveSinceDateTime);

パラメータ

- profileAuthenticationOption
検索するAnonymous、AuthenticatedまたはAllプロファイル。

- inactiveSinceDateTime
プロファイルが非アクティブであることを示す中断日時。

戻り値

指定された非アクティブ日時に一致するユーザー・プロファイル数を示す整数値。

備考

このメソッドは、構成ファイルのapplicationName属性で指定されたアプリケーションについて、非アクティブなプロファイルの数をデータ・ソースから戻します。profileAuthenticationOptionパラメータでは、匿名プロファイルのみ、認証されたプロファイルのみ、またはすべてのプロファイルのいずれを検索するかを指定します。検索されたユーザー・プロファイルのうち、最後のアクティビティ日時が指定されたinactiveSinceDateTimeパラメータ値またはそれより前であるプロファイルが数えられます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

GetPropertyValues

このメソッドは、プロファイルのプロパティと値をOracleプロファイル・データベースから取得します。

宣言

// C#
public override SettingsPropertyValueCollection GetPropertyValues(SettingsContext
settingsContext, SettingsPropertyCollection settingsPropertyCollection);

パラメータ

- settingsContext
ユーザー・プロファイル情報を含むSettingsContextオブジェクト。

- settingsPropertyCollection
取得するプロパティのプロファイル情報を含むSettingsPropertyCollectionオブジェクト。

戻り値

プロファイル・プロパティ情報と値を含むSettingsPropertyValueCollectionオブジェクト。

備考

このメソッドは、コンテキストで指定されたユーザー・プロファイルについて、プロファイルのプロパティと値をOracleデータベースから取得します。プロファイルのプロパティと値は、SettingsPropertyValueオブジェクトのコレクションとして戻されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

Initialize

このメソッドは、OracleProfileProviderインスタンスを、ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値で初期化します。

宣言

// C#
public override void Initialize(string name, NameValueCollection config);

パラメータ

- name
初期化するOracleProfileProviderインスタンスの名前。

- config
プロバイダの構成で指定されているプロバイダ固有属性を表す名前/値のペアのコレクション。

例外

ArgumentNullException - configパラメータがnull参照です。

HttpException - 現在の信頼レベルが「低」未満です。

InvalidOperationException - すでに初期化されているプロバイダに対してInitializeメソッドを呼び出そうとしました。

ArgumentNullException - configパラメータがnullです。

System.Configuration.Provider.ProviderException - 次のいずれかの条件がアプリケーション構成ファイルに当てはまります。

- connectionStringName属性が空であるか、アプリケーション構成ファイルに存在しません。

- connectionStringName属性の接続文字列の値が空であるか、指定されたconnectionStringName値がアプリケーション構成ファイルに存在しません。

- applicationName属性値が256文字を超えています。

- このOracleProfileProviderインスタンスのアプリケーション構成ファイルには、認識されていない属性が含まれます。

備考

Initializeメソッドは、マシン構成ファイル(machine.config)またはASP.NETアプリケーション構成ファイル(web.config)で指定されたプロバイダ固有の値とオプションを含む、プロバイダ・インスタンスのオプションとプロパティ値を設定します。

Initializeメソッドは、アプリケーションによって直接呼び出されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

SetPropertyValues

このメソッドは、指定されたプロファイル・プロパティ値でOracleプロファイル・データベースを更新します。

宣言

// C#
public override void SetPropertyValues(SettingsContext settingsContext,
SettingsPropertyValueCollection settingsPropertyValueCollection);

パラメータ

- settingsContext
ユーザー・プロファイル情報を含むSettingsContextオブジェクト。

- settingsPropertyValueCollection
ユーザー・プロファイル・プロパティを更新するためのプロファイル情報と値を含むSettingsPropertyValueCollectionオブジェクト。

備考

ASP.NETプロファイル・サービスは、このメソッドを使用して、コンテキストで指定されたユーザー・プロファイルについて、Oracleデータベースに格納されたプロファイルのプロパティと値を更新します。プロパティ値は、構成ファイルのapplicationName属性で指定されたアプリケーションのデータ・ソースに設定されます。更新されるプロファイルのプロパティと値はSettingsPropertyValueオブジェクトのコレクションとして指定されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleProfileProviderクラス

- OracleProfileProviderメンバー

7 OracleWebEventProvider

この章では、OracleWebEventProviderクラスについて説明します。

関連項目:
ASP.NETの状態監視およびWebイベント・プロバイダ: http://msdn.microsoft.com/en-us/library/ms178701(VS.80).aspx

この章の内容は次のとおりです。

- OracleWebEventProviderクラス

OracleWebEventProviderクラス

OracleWebEventProviderクラスにより、ASP.NETアプリケーションは、WebイベントをOracleデータベースに格納できます。

クラスの継承

System.Object

System.Configuration.Provider.ProviderBase

System.Web.Management.WebEventProvider

System.Web.Management.BufferedWebEventProvider

Oracle.Web.Management.OracleWebEventProvider

宣言

// C#
public class OracleWebEventProvider: BufferedWebEventProvider

スレッド安全性

すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。

備考

このクラスにより、ASP.NETアプリケーションは、OracleデータベースにWebイベント情報を格納できます。

例

次に、OracleWebEventProviderクラスをデフォルト・プロバイダとして使用するASP.NETアプリケーションのweb.configの例を示します。この構成では、machine.configファイルで指定された接続文字列とデフォルト属性値を使用します。

machine.configファイルはイベント・マッピング、バッファ・モードおよびルールに必要な構成エントリを提供しないため、アプリケーションがこれらの構成エントリをweb.configファイルで提供する必要があります。次のweb.configファイルで例を示します。

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<healthmonitoring enabled="true"/>
<bufferModes>
<add name="Notification"
maxBufferSize="1000"
maxFlushSize="200"
urgentFlushThreshold="500"
regularFlushInterval="00:00:6"
urgentFlushInterval="00:00:03"
maxBufferThreads="1"/>
</bufferModes>
<eventMappings>
<add name="CustomEvent"
type="CustomEventSource.CustomEvent, CustomEventSource"/>
</eventMappings>
<rules>
<add name="CustomRule"
eventName="CustomEvent"
provider="OracleWebEventProvider"
minInterval="00:00:00"/>
</rules>
</healthMonitoring>
</system.web>
</configuration>

次に、OracleWebEventProviderクラスをデフォルト・プロバイダとして使用し、接続文字列名とアプリケーション名に対するカスタマイズされた設定、アプリケーション固有の接続文字列、および前の例で説明したその他の構成を使用するASP.NETアプリケーションのweb.configの例を示します。

<?xml version="1.0"?>
<configuration xmlns=
"http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="my_webevent_app_con_string" connectionString=
"User Id=scott;Password=tiger;Data Source=Oracle"/>
</connectionStrings>
<system.web>
<!-- Enable and customize OracleWebEventProvider -->
<healthMonitoring enabled="true">
<providers>
<add name="CustomOracleWebEventProvider"
type="Oracle.Web.Management.OracleWebEventProvider,
Oracle.Web, Version=2.112.2.0, Culture=neutral,
PublicKeyToken=89b483f429c47342"
connectionStringName="my_webevent_app_con_string"
bufferMode="CustomBufferMode">
</providers>
<bufferModes>
<add name="CustomBufferMode"
maxBufferSize="1000"
maxFlushSize="200"
urgentFlushThreshold="500"
regularFlushInterval="00:00:06"
urgentFlushInterval="00:00:03"
maxBufferThreads="1"/>
</bufferModes>
<eventMappings>
<add name="CustomEvent"
type="CustomEventSource.CustomEvent, CustomEventSource"/>
</eventMappings>
<rules>
<add name="CustomRule"
eventName="CustomEvent"
provider="CustomOracleWebEventProvider"
minInterval="00:00:00"/>
</rules>
</healthMonitoring>
</system.web>
</configuration>

applicationName属性は、ASP.NETアプリケーションごとに一意の値に設定する必要があります。

要件

ネームスペース: Oracle.Web.Management

アセンブリ: Oracle.Web.dll

Oracle Providers for ASP.NETのバージョン: Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderメンバー

- OracleWebEventProviderコンストラクタ

- OracleWebEventProvider静的メソッド

- OracleWebEventProviderパブリック・プロパティ

- OracleWebEventProviderパブリック・メソッド

OracleWebEventProviderメンバー

次の表にOracleWebEventProviderメンバーをリストします。

OracleWebEventProviderコンストラクタ

OracleWebEventProviderコンストラクタを、表7-1にリストします。

表7-1 OracleWebEventProviderコンストラクタ

コンストラクタ

説明

OracleWebEventProviderコンストラクタ

OracleWebEventProviderクラスの新規インスタンスをインスタンス化します

OracleWebEventProvider静的メソッド

OracleWebEventProvider静的メソッドを、表7-2にリストします。

表7-2 OracleWebEventProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

OracleWebEventProviderパブリック・プロパティ

OracleWebEventProviderパブリック・プロパティを、表7-3にリストします。

表7-3 OracleWebEventProviderパブリック・プロパティ

パブリック・プロパティ

説明

BufferMode

System.Web.Management.BufferedWebEventProviderからの継承

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.ProviderBaseからの継承

Name

System.Configuration.Provider.ProviderBaseからの継承

UseBuffering

System.Web.Management.BufferedWebEventProviderからの継承

OracleWebEventProviderパブリック・メソッド

OracleWebEventProviderパブリック・メソッドを、表7-4にリストします。

表7-4 OracleWebEventProviderパブリック・メソッド

パブリック・メソッド

説明

Initialize

ASP.NETアプリケーションの構成ファイルで指定されたプロパティ値でOracleWebEventProviderインスタンスを初期化します

ProcessEvent

渡されたイベントを引数として処理します

ProcessEventFlush

引数として渡される情報をフラッシュします

Shutdown

すべてのリソースを解放します

Flush

System.BufferedWebEventProviderからの継承

Equals(オーバーロード)

System.Objectからの継承

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

OracleWebEventProviderコンストラクタ

このコンストラクタでは、OracleWebEventProviderクラスのインスタンスが作成されます。

オーバーロード・リスト:

- OracleWebEventProvider()
このコンストラクタでは、OracleWebEventProviderクラスのインスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

OracleWebEventProvider()

このコンストラクタでは、OracleWebEventProviderクラスのインスタンスが作成されます。

宣言

// C#
public OracleWebEventProvider();

備考

このコンストラクタでは、OracleWebEventProviderクラスの新規インスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

OracleWebEventProvider静的メソッド

OracleWebEventProvider静的メソッドを、表7-5にリストします。

表7-5 OracleWebEventProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承(オーバーロード)

ReferenceEquals

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

OracleWebEventProviderパブリック・プロパティ

OracleWebEventProviderパブリック・プロパティを、表7-6にリストします。

表7-6 OracleWebEventProviderパブリック・プロパティ

パブリック・プロパティ

説明

BufferMode

System.Web.Management.BufferedWebEventProviderからの継承

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.ProviderBaseからの継承

Name

System.Configuration.Provider.ProviderBaseからの継承

UseBuffering

System.Web.Management.BufferedWebEventProviderからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

CommandTimeout

このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。

宣言

// C#
public int CommandTimeout {get;}

プロパティ値

int

備考

プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。

デフォルト値は30秒です。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

OracleWebEventProviderパブリック・メソッド

OracleWebEventProviderパブリック・メソッドを、表7-7にリストします。

表7-7 OracleWebEventProviderパブリック・メソッド

パブリック・メソッド

説明

Initialize

ASP.NETアプリケーションの構成ファイルで指定されたプロパティ値でOracleWebEventProviderインスタンスを初期化します

ProcessEvent

渡されたイベントを引数として処理します

ProcessEventFlush

引数として渡される情報をフラッシュします

Shutdown

すべてのリソースを解放します

Flush

System.BufferedWebEventProviderからの継承

Equals(オーバーロード)

System.Objectからの継承

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

Initialize

このメソッドは、OracleWebEventProviderインスタンスを、ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値で初期化します。

宣言

// C#
public override void Initialize(string name, NameValueCollection config);

パラメータ

- name
初期化するOracleWebEventProviderインスタンスの名前。

- config
OracleWebEventProviderの構成オプションの名前と値を含むSystems.Collections.Specialized.NameValueCollectionオブジェクト。

例外

InvalidOperationException - OracleWebEventProviderインスタンスがすでに初期化されている場合。

ProviderException - 次のいずれかの条件が存在します。

- 構成ファイル内のconnectionStringName属性がnullまたは空です。

- connectionStringName属性の値に対応する接続文字列がnullまたは空です。

- 構成ファイルに認識されない属性が見つかりました。

- プロバイダの初期化中に別のエラーが発生します。

備考

Initializeメソッドは、アプリケーションによって直接呼び出されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

ProcessEvent

このメソッドは、引数として渡されたイベントを処理します。

宣言

// C#
public override void ProcessEvent(WebBaseEvent eventRaised);

パラメータ

- eventRaised
処理するWebBaseEventオブジェクト。

備考

このメソッドは、イベント処理を開始するためにASP.NETアプリケーションによって呼び出されます。バッファリングが有効になっている場合は、イベントがイベントのバッファに追加され、それ以外の場合はイベント情報がOracle Databaseに直接書き込まれます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

ProcessEventFlush

このメソッドは、引数として渡された情報をフラッシュします。

宣言

// C#
public override void ProcessEventFlush(WebEventBufferFlushInfo flushEvent);

パラメータ

- flushEvent
バッファ処理されたWebイベントのコレクションを含むWebEventBufferFlushInfoオブジェクト。

備考

このメソッドは、すべてのイベントをOracle DatabaseにフラッシュするためにASP.NETアプリケーションによって呼び出されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

Shutdown

このメソッドは、すべてのリソースを解放します。

宣言

// C#
public override void Shutdown();

備考

このメソッドは、プロバイダがアンロードされるときにASP.NETアプリケーションによって呼び出されます。プロバイダがシャットダウンする前に、バッファリングされたすべてのイベントがOracle Databaseにフラッシュされます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleWebEventProviderクラス

- OracleWebEventProviderメンバー

8 OraclePersonalizationProvider

この章では、OraclePersonalizationProviderクラスについて説明します。

関連項目:

- ASP.NETのWebパーツ: http://msdn.microsoft.com/en-us/library/e0s9t4ck.aspx

- ASP.NETのWebパーツ・パーソナライズ: http://msdn.microsoft.com/en-us/library/ms178182.aspx

この章の内容は次のとおりです。

- OraclePersonalizationProviderクラス

OraclePersonalizationProviderクラス

OraclePersonalizationProviderクラスにより、ASP.NET開発者は、Webパーツ・パーソナライズ情報をOracleデータベースに格納できます。

クラスの継承

System.Object

System.Configuration.Provider.ProviderBase

System.Web.UI.WebControls.WebParts.PersonalizationProvider

Oracle.Web.Personalization.OraclePersonalizationProvider

宣言

// C#
public class OraclePersonalizationProvider: PersonalizationProvider

スレッド安全性

すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。

備考

このクラスにより、ASP.NETアプリケーションは、Oracleデータベースにパーソナライズ情報を格納し、管理できます。

例

次に、OraclePersonalizationProviderをデフォルト・プロバイダとして使用するASP.NETアプリケーションのweb.configの例を示します。この構成では、machine.configファイルで指定された接続文字列とデフォルト属性値を使用します。

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<webParts>
<personalization defaultProvider="OraclePersonalizationProvider"/>
</webParts>
</system.web>
</configuration>

次に、OraclePersonalizationProviderをデフォルト・プロバイダとして使用し、カスタマイズされた設定とアプリケーション固有の接続文字列を使用するASP.NETアプリケーションのweb.configの例を示します。

<?xml version="1.0"?>
<configuration xmlns=
"http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="my_personalization_app_con_string" connectionString=
"User Id=scott;Password=tiger;Data Source=Oracle"/>
</connectionStrings>
<system.web>
<webParts>
<!-- Enable and customize OraclePersonalizationProvider -->
<personalization defaultProvider="CustomOraclePersonalizationProvider">
<providers>
<add name="CustomOraclePersonalizationProvider"
type="Oracle.Web.Personalization.OraclePersonalizationProvider,
Oracle.Web, Version=2.112.2.0, Culture=neutral,
PublicKeyToken=89b483f429c47342"
connectionStringName="my_personalization_app_con_string"
applicationName="my_personalization_app"/>
</providers>
</personalization>
</webParts>
</system.web>
</configuration>

applicationName属性は、ASP.NETアプリケーションごとに一意の値に設定する必要があります。

要件

ネームスペース: Oracle.Web.Personalization

アセンブリ: Oracle.Web.dll

Oracle Providers for ASP.NETのバージョン: Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderメンバー

- OraclePersonalizationProviderコンストラクタ

- OraclePersonalizationProvider静的メソッド

- OraclePersonalizationProviderパブリック・プロパティ

- OraclePersonalizationProviderパブリック・メソッド

OraclePersonalizationProviderメンバー

次の表にOraclePersonalizationProviderメンバーをリストします。

OraclePersonalizationProviderコンストラクタ

OraclePersonalizationProviderコンストラクタを、表8-1にリストします。

表8-1 OraclePersonalizationProviderコンストラクタ

コンストラクタ

説明

OraclePersonalizationProviderコンストラクタ

OraclePersonalizationProviderクラスの新規インスタンスをインスタンス化します

OraclePersonalizationProvider静的メソッド

OraclePersonalizationProvider静的メソッドを、表8-2にリストします。

表8-2 OraclePersonalizationProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承

ReferenceEquals

System.Objectからの継承

OraclePersonalizationProviderパブリック・プロパティ

OraclePersonalizationProviderパブリック・プロパティを、表8-3にリストします。

表8-3 OraclePersonalizationProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

アプリケーションに固有のパーソナライズ情報の指定に使用されるアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

OraclePersonalizationProviderパブリック・メソッド

OraclePersonalizationProviderパブリック・メソッドを、表8-4にリストします。

表8-4 OraclePersonalizationProviderパブリック・メソッド

パブリック・メソッド

説明

FindState

スコープと特定の問合せパラメータに基づいて、ゼロ個以上のPersonalizationStateInfo導出オブジェクトを含むコレクションを戻します

GetCountOfState

指定されたスコープ内の基礎となるOracleデータベース内の行数を戻します

Initialize

Oracle Personalization Providerを初期化します

Equals

System.Objectからの継承(オーバーロード)

ResetPersonalizationState

System.Web.UI.WebControls.WebParts. PersonalizationProviderからの継承

ResetState

指定されたパラメータに基づいて、基礎となるデータ・ソースからパーソナライズ状態情報を削除します

ResetUserState

指定されたパラメータに基づいて、基礎となるOracleデータ・ソースからユーザー・パーソナライズ・データを削除します

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

ToString

System.Objectからの継承

SavePersonalizationState

System.Web.UI.WebControls.WebParts.PersonalizationProviderからの継承

DetermineInitialScope

System.Web.UI.WebControls.WebParts.PersonalizationProviderからの継承

DetermineUserCapabilities

System.Web.UI.WebControls.WebParts.PersonalizationProviderからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

OraclePersonalizationProviderコンストラクタ

OraclePersonalizationProviderコンストラクタは、OraclePersonalizationProviderクラスのインスタンスを作成します。

オーバーロード・リスト:

- OraclePersonalizationProvider()
このコンストラクタでは、OraclePersonalizationProviderクラスのインスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

OraclePersonalizationProvider()

このコンストラクタでは、OraclePersonalizationProviderクラスのインスタンスが作成されます。

宣言

// C#
public OraclePersonalizationProvider();

備考

ASP.NETアプリケーションは、このコンストラクタを呼び出して、アプリケーション構成ファイルで指定されたとおりにOraclePersonalizationProviderクラスのインスタンスを作成します。OraclePersonalizationProviderインスタンスの初期化値は、Initializeメソッドを通じて渡されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

OraclePersonalizationProvider静的メソッド

OraclePersonalizationProvider静的メソッドを、表8-5にリストします。

表8-5 OraclePersonalizationProvider静的メソッド

静的メソッド

説明

Equals

System.Objectからの継承

ReferenceEquals

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

OraclePersonalizationProviderパブリック・プロパティ

OraclePersonalizationProviderパブリック・プロパティを、表8-6にリストします。

表8-6 OraclePersonalizationProviderパブリック・プロパティ

パブリック・プロパティ

説明

ApplicationName

アプリケーションに固有のパーソナライズ情報の指定に使用されるアプリケーションの名前を取得または設定します

CommandTimeout

コマンドが例外で実行を終了するまでに実行可能な秒数を取得します

Description

System.Configuration.Provider.Providerbaseからの継承

Name

System.Configuration.Provider.Providerbaseからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

ApplicationName

このプロパティでは、パーソナライズ情報に固有のアプリケーションの名前を取得または設定します。

宣言

// C#
public override string ApplicationName{get; set;}

プロパティ値

アプリケーションの名前。applicationName属性がアプリケーション構成ファイルで指定されていない場合、または値が空の文字列の場合は、このプロパティがアプリケーションの仮想パスに設定されます。

例外

HttpException - 呼び出し元に、ASP.NETホスティングに対する高い信頼性がありません。

ProviderException - ApplicationName文字列が256文字を超えています。

備考

ApplicationNameプロパティの主な目的は、OraclePersonalizationProviderオブジェクトによって管理されるデータのスコープを指定することです。同じApplicationName文字列を指定するアプリケーションは、Webパーツのパーソナライズ・サービスの構成時にパーソナライズ状態を共有しますが、一意のApplicationName文字列を指定するアプリケーションはこれを共有しません。OraclePersonalizationProviderは、パーソナライズ状態をアプリケーション名に関連付けて、パーソナライズ・データ・ソースに対して実行される操作のスコープをそれに応じて設定できるようにする必要があります。

次の例では、OraclePersonalizationProviderがScottという名前のユーザーとAppという名前のアプリケーションのパーソナライズ状態を取得するために使用できる典型的なコードを示します。

SELECT * FROM PersonalizationState
WHERE UserName='Scott' AND Path='~/Default.aspx'
AND ApplicationName='App'

WHERE句の最後のANDは、同じユーザー名とパスでキーが付けられたパーソナライズ状態を含む他のアプリケーションが、Appアプリケーションと競合しないようにします。

構成ファイルのapplicationName属性に値が指定されていない場合、デフォルトは現在のリクエストのApplicationPathプロパティ値になります。構成ファイルの属性名は、大文字と小文字が区別されます。

ApplicationNameプロパティはスレッドセーフではありません。アプリケーション・コードでは、ユーザーにWebアプリケーションでのApplicationNameプロパティの設定を許可しないことをお薦めします。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

CommandTimeout

このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。

宣言

// C#
public int CommandTimeout {get;}

プロパティ値

int

備考

プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。

デフォルト値は30秒です。構成ファイルの属性名は、大文字と小文字が区別されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

OraclePersonalizationProviderパブリック・メソッド

OraclePersonalizationProviderパブリック・メソッドを、表8-7にリストします。

表8-7 OraclePersonalizationProviderパブリック・メソッド

パブリック・メソッド

説明

FindState

スコープと特定の問合せパラメータに基づいて、ゼロ個以上のPersonalizationStateInfo導出オブジェクトを含むコレクションを戻します

GetCountOfState

指定されたスコープ内の基礎となるOracleデータベース内の行数を戻します

Initialize

Oracle Personalization Providerを初期化します

Equals

System.Objectからの継承(オーバーロード)

ResetPersonalizationState

System.Web.UI.WebControls.WebParts.PersonalizationProviderからの継承

ResetState

指定されたパラメータに基づいて、基礎となるデータ・ソースからパーソナライズ状態情報を削除します

ResetUserState

指定されたパラメータに基づいて、基礎となるOracleデータ・ソースからユーザー・パーソナライズ・データを削除します

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

ToString

System.Objectからの継承

SavePersonalizationState

System.Web.UI.WebControls.WebParts.PersonalizationProviderからの継承

DetermineInitialScope

System.Web.UI.WebControls.WebParts.PersonalizationProviderからの継承

DetermineUserCapabilities

System.Web.UI.WebControls.WebParts.PersonalizationProviderからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

FindState

このメソッドは、スコープと固有の問合せパラメータに基づいて、ゼロ個以上のPersonalizationStateInfo導出オブジェクトを含むコレクションを戻します。

宣言

// C#
public override PersonalizationStateInfoCollection FindState(PersonalizationScope
scope, PersonalizationStateQuery query, int pageIndex, int pageSize,
out int totalRecords);

パラメータ

- scope
パーソナライズ情報の問合せのスコープ(ユーザーまたは共有)。これはnull参照にできません。

- query
パーソナライズ情報のフィルタ処理に使用する問合せ。これはnull参照にできます。

- pageIndex
問合せが開始する場所。

- pageSize
戻すレコード数。

- totalRecords
使用可能なレコードの総数。

戻り値

0個以上のPersonalizationStateInfo導出オブジェクトを含むPersonalizationStateInfoCollectionオブジェクト。

例外

ArgumentOutOfRangeException - スコープに、PersonalizationScope.UserまたはPersonalizationScope.Shared以外の値が含まれます。

OracleException - Oracle関連のエラーが発生しました。

ArgumentException - 次のいずれかの条件が存在します。

- pageSizeパラメータの値が0または1です。

- pageIndexまたはpageSizeパラメータが0未満です。

- ((pageIndex * pageSize + pageSize)- 1)がInt32.MaxValueを超えています。-1は、レコードのゼロベース索引を考慮しています。

備考

PersonalizationStateInfo導出オブジェクトは、英字順に戻され、PathプロパティとUsernameプロパティの値の組合せで昇順にソートされます。

このメソッドは、問合せワイルドカード文字を基礎となるOracleデータベースに渡します。データベースは、queryパラメータのPathToMatchプロパティ内の検索文字列テキストの先頭、末尾または途中に出現したワイルドカード文字で部分的なパスのワイルドカード検索を実行します。たとえば、PathToMatchプロパティを~/appdir%に設定すると、~/appdirで始まるすべてのパスが見つかります。

同様に、部分的なユーザー名のワイルドカード検索では、ワイルドカード文字がqueryパラメータのUsernameToMatchプロパティのテキスト文字列のどのポイントに出現してもかまいません。たとえば、scottから始まるすべてのユーザー名を検索するには、UsernameToMatchパラメータはscott%のようになります。

次の問合せルールに従う必要があります。

- scopeパラメータのみ指定され、queryパラメータがnull参照であるか、queryパラメータのすべてのプロパティがnull参照またはデフォルト値を戻す場合は、指定されたscopeパラメータに一致するすべてのレコードが戻されます。

- PathToMatchプロパティがnull参照でない場合、戻されるレコードでは、PathToMatch値に一致するパスに基づくフィルタ処理も行われます。

- UsernameToMatchプロパティがnull参照でない場合、戻されるレコードでは、UsernameToMatchプロパティ値に一致するユーザー名に基づくフィルタ処理も行われます。

- UserInactiveSinceDateプロパティがMaxValueと等しくない場合は、戻されるレコードのフィルタ処理も行われ、非アクティブなユーザーに関連付けられているレコードのみ戻されます。比較には、Last ActivityDateプロパティがUser Inactive Since Dateプロパティ以下であるレコードが含まれます。

このメソッドでは、問合せパラメータの組合せが検証されません。たとえば、アプリケーション・コードは、共有スコープ内の特定のユーザー名に関連付けられているパーソナライズ状態レコードのセットをリクエストできます。ユーザー名は共有情報に関連付けられていないため、戻されるコレクションは空です。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

GetCountOfState

このメソッドは、指定されたスコープ内の基礎となるOracleデータベース内の行数を戻します。

宣言

// C#
public override int GetCountOfState(PersonalizationScope scope,
PersonalizationStateQuery query);

パラメータ

- scope
パーソナライズ情報の問合せのスコープ(ユーザーまたは共有)。これはnull参照にできません。

- query
パーソナライズ情報のフィルタ処理に使用する問合せ。これはnull参照にできます。

戻り値

指定されたスコープ・パラメータ内の基礎となるデータ・ソースの行数。

例外

ArgumentException - queryのPathToMatchまたはUsernameToMatchプロパティがnull以外の参照であり、切り捨て後に空の文字列("")になります。

ArgumentOutOfRangeException - 指定されたスコープは、PersonalizationScope列挙の有効値ではありません。

OracleException - Oracle関連のエラーが発生しました。

備考

このメソッドは、問合せワイルドカード文字を基礎となるOracleデータベースに渡します。データベースは、queryパラメータのPathToMatchプロパティ内の検索文字列テキストの先頭、末尾または途中に出現したワイルドカード文字で部分的なパスのワイルドカード検索を実行します。たとえば、PathToMatchプロパティを~/appdir%に設定すると、~/appdirで始まるすべてのパスが見つかります。

同様に、部分的なユーザー名のワイルドカード検索では、ワイルドカード文字がqueryパラメータのUsernameToMatchプロパティのテキスト文字列のどのポイントに出現してもかまいません。たとえば、scottから始まるすべてのユーザー名を検索するには、UsernameToMatchパラメータはscott%のようになります。

次の問合せ制約に従う必要があります。

- scopeパラメータのみ指定され、queryパラメータがnull参照であるか、queryパラメータのすべてのプロパティがnull参照またはデフォルト値を戻す場合は、指定されたscopeパラメータに一致するすべてのレコードが戻されます。

- PathToMatchプロパティがnull参照でない場合、戻されるレコードでは、PathToMatch値に一致するパスに基づくフィルタ処理も行われます。

- UsernameToMatchプロパティがnull参照でない場合、戻されるレコードでは、UsernameToMatchプロパティ値に一致するユーザー名に基づくフィルタ処理も行われます。

- UserInactiveSinceDateプロパティがMaxValueと等しくない場合は、戻されるレコードのフィルタ処理も行われ、非アクティブなユーザーに関連付けられているレコードのみ戻されます。比較には、LastActivityDateプロパティがUserInactiveSinceDateプロパティ以下であるレコードが含まれます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

Initialize

このメソッドは、OraclePersonalizationProviderを、ASP.NETアプリケーション構成ファイル(web.config)で指定されたプロパティ値で初期化します。

宣言

// C#
public override void Initialize(string name, NameValueCollection config);

パラメータ

- name
プロバイダのわかりやすい名前。

- config
このプロバイダの名前/値のペアの構成オプションのコレクション。

例外

HttpException - 現在の信頼レベルが「低」未満です。

InvalidOperationException - すでに初期化されているプロバイダに対してInitializeメソッドを呼び出そうとしました。

ArgumentNullException - configパラメータがnull参照です。

System.Configuration.Provider.ProviderException - 次のいずれかの条件がアプリケーション構成ファイルに存在します。

- connectionStringName属性が空であるか、アプリケーション構成ファイルに存在しません。

- connectionStringName属性値の接続文字列の値が空であるか、指定されたconnectionStringName属性がアプリケーション構成ファイルに存在しません。

- applicationName属性値が256文字を超えています。

- このOraclePersonalizationProviderインスタンスのアプリケーション構成ファイルには、認識されていない属性が含まれます。

備考

Initializeメソッドは、アプリケーションによって直接呼び出されることを意図していません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

ResetState

このメソッドは、指定されたパラメータに基づいて、基礎となるデータ・ソースからパーソナライズ状態情報を削除します。

宣言

// C#
public override int ResetState(PersonalizationScope scope, string[] paths,
string[] usernames);

パラメータ

- scope
問合せを行うパーソナライズ情報を示すPersonalizationScope型。この値はnull参照にできません。

- paths
削除する共有scopeパラメータ内のパーソナライズ情報のパス。

- usernames
ユーザーscopeパラメータ内の削除するパーソナライズ情報のユーザー名。

戻り値

削除する行数。

例外

ArgumentOutOfRangeException - 指定されたscopeパラメータは、PersonalizationScope列挙値のメンバーではありません。

OracleException - Oracle関連のエラーが発生しました。

ArgumentException - 次のいずれかの条件が存在します。

- pathsまたはusernamesパラメータが空の配列です。

- paths配列またはusernames配列の属性が検証ルールを満たしていません。検証ルールについては、次の「備考」の項を参照してください。

備考

このメソッドは、操作を単一のアトミック・トランザクションとして実行します。

それぞれの配列に含まれるpathsおよびusernames要素は、次の検証ルールを満たす必要があります。検証ルールがパラメータ配列のいずれかのメンバーで失敗した場合は、ArgumentException例外がスローされます。検証ルールは次のとおりです。

- Null参照値は許可されません。

- 空の文字列("")は使用できません。空の文字列チェックを実行する前に、パラメータを切り捨てる必要があります。

- usernames配列にカンマ(,)を含めることはできません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

ResetUserState

このメソッドは、指定されたパラメータに基づいて、基礎となるOracleデータ・ソースからユーザー・パーソナライズ・データを削除します。

宣言

// C#
public override int ResetUserState(string path, DateTime userInactiveSinceDate);

パラメータ

- path
削除するパーソナライズ・データのパス。この値はnull参照にできますが、空の文字列("")にはできません。

- userInactiveSinceDate
最後のアクティビティを示す日付。

戻り値

基礎となるOracleデータ・ソースから削除された行数。

例外

ArgumentException - pathパラメータが空の文字列です。

OracleException - Oracle関連のエラーが発生しました。

備考

このメソッドのパラメータには次の制限があります。

- pathパラメータにワイルドカード文字を含めることはできません。

- pathパラメータがnull参照以外の場合は、pathパラメータに関連付けられているユーザーごとのパーソナライズ・レコードのみ削除されます。

- userInactiveSinceDateパラメータで指定された日付以降は非アクティブとみなされる、ユーザーに関連付けられたユーザーごとのパーソナライズのみ削除されます。厳密な比較によって、Last Activity DateプロパティがuserInactiveSinceDateパラメータ以下のレコードが削除されます。

- 両方のパラメータが指定されている場合は、両方の制約に一致するレコードが削除されます。

- pathパラメータはnull参照にできます。

- pathパラメータは、切り捨てた後で空の文字列であってはなりません。

- userInactiveSinceDateパラメータはnull参照にできません。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OraclePersonalizationProviderクラス

- OraclePersonalizationProviderメンバー

9 OracleCacheDependencyプロバイダ

この章では、OracleCacheDependencyクラスについて説明します。

関連項目:
ASP.NETのCacheDependencyクラス: http://msdn.microsoft.com/en-us/library/system.web.caching.cachedependency.aspx

この章の内容は次のとおりです。

- OracleCacheDependencyクラス

OracleCacheDependencyクラス

OracleCacheDependencyオブジェクトにより、ASP.NETアプリケーションは、Oracleデータベースに対して行われた変更に基づいて、キャッシュされた項目を無効にできます。

クラスの継承

System.Object

System.Web.Caching.CacheDependency

Oracle.Web.Caching.OracleCacheDependency

宣言

// C#
public sealed class OracleCacheDependency : CacheDependency

スレッド安全性

すべてのパブリック静的メソッドはスレッドセーフですが、インスタンス・メンバーがスレッドセーフであることは保証されません。

備考

このクラスは、Oracleデータベース内の変更に基づいて、ASP.NETアプリケーションによってキャッシュされたデータを無効にします。

この機能では、Oracle Databaseのデータベース変更通知機能を使用します。

ユーザーにはCHANGE NOTIFICATION権限が必要です。この権限は、次のSQL文で付与できます。

GRANT change notification TO username;

要件

ネームスペース: Oracle.Web.Caching

アセンブリ: Oracle.Web.dll

Oracle Providers for ASP.NETのバージョン: Oracle Providers for ASP.NET 2.0およびOracle Providers for ASP.NET 4

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleCacheDependencyメンバー

- OracleCacheDependencyコンストラクタ

- OracleCacheDependencyプロパティ

- OracleCacheDependencyメソッド

OracleCacheDependencyメンバー

次の表にOracleCacheDependencyメンバーをリストします。

OracleCacheDependencyコンストラクタ

OracleCacheDependencyコンストラクタを、表9-1にリストします。

表9-1 OracleCacheDependencyコンストラクタ

コンストラクタ

説明

OracleCacheDependencyコンストラクタ

OracleCacheDependencyクラスの新規インスタンスをインスタンス化します

OracleCacheDependencyプロパティ

OracleCacheDependencyプロパティを、表9-2にリストします。

表9-2 OracleCacheDependencyプロパティ

プロパティ

説明

HasChanged

System.CacheDependencyからの継承

UtcLastModified

System.CacheDependencyからの継承

OracleCacheDependencyメソッド

OracleCacheDependencyメソッドを、表9-3にリストします。

表9-3 OracleCacheDependencyメソッド

メソッド

説明

Dispose

System.Objectからの継承

Equals

System.Objectからの継承(オーバーロード)

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

GetUniqueID

OracleCacheDependencyオブジェクトの一意識別子を戻します

ReferenceEquals

System.Objectからの継承

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleCacheDependencyクラス

OracleCacheDependencyコンストラクタ

このコンストラクタでは、OracleCacheDependencyクラスの新規インスタンスがインスタンス化されます。

オーバーロード・リスト:

- OracleCacheDependency(OracleCommand)
このコンストラクタでは、OracleCacheDependencyクラスのインスタンスが作成されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleCacheDependencyクラス

- OracleCacheDependencyメンバー

OracleCacheDependency(OracleCommand)

このコンストラクタでは、OracleCacheDependencyクラスの新規インスタンスがインスタンス化されます。

宣言

// C#
public OracleCacheDependency(OracleCommand cmd);

パラメータ

- cmd
OracleCommandオブジェクトには、変更通知の基になるコマンド・テキストがあります。

備考

このコンストラクタが呼び出されると、OracleCacheDependencyオブジェクトがインスタンス化され、OracleCommandオブジェクトが変更通知用に構成されます。指定されたOracleCommandオブジェクトがアプリケーションによって実行されると、変更通知が登録され、サーバー側で変更が検出されたときにOracleCacheDependencyインスタンスが通知されます。

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleCacheDependencyクラス

- OracleCacheDependencyメンバー

OracleCacheDependencyプロパティ

OracleCacheDependencyプロパティを、表9-4にリストします。

表9-4 OracleCacheDependencyプロパティ

プロパティ

説明

HasChanged

System.CacheDependencyからの継承

UtcLastModified

System.CacheDependencyからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleCacheDependencyクラス

- OracleCacheDependencyメンバー

OracleCacheDependencyメソッド

OracleCacheDependencyメソッドを、表9-5にリストします。

表9-5 OracleCacheDependencyメソッド

メソッド

説明

Dispose

System.Objectからの継承

Equals

System.Objectからの継承(オーバーロード)

GetHashCode

System.Objectからの継承

GetType

System.Objectからの継承

GetUniqueID

OracleCacheDependencyオブジェクトの一意識別子を戻します

ReferenceEquals

System.Objectからの継承

ToString

System.Objectからの継承

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleCacheDependencyクラス

- OracleCacheDependencyメンバー

GetUniqueID

このメソッドは、OracleCacheDependencyオブジェクトを一意に識別する文字列を戻します。

宣言

// C#
public override string GetUniqueID()

関連項目:

- Oracle Providers for ASP.NETアセンブリ

- OracleCacheDependencyクラス

- OracleCacheDependencyメンバー

索引

A C D F I M O P R S T V X

A

ASP.NETプロバイダ・モデル, 1.1

C

クライアント構成, 1.4.2

構成, 1.4.2

構成ファイル, 1.1

構成スクリプト, 1.4.1

D

ドキュメント, 1.6

F

ファイルの場所, 1.6

I

インストール・スクリプト, 1.4.1

インストール, 1.4

machine.config, 1.4.2

InstallOracleASPNETCommon.sql, 1.4.1 インスタント・クライアント, 1.4

M

Microsoft ASP.NET 2.0, 1.1

O

オブジェクト参照, 1.7

オブジェクト, 1.7

Oracle Data Provider for .NET

システム要件, 1.3

Oracle Database, 1.1 Oracle Providers for ASP.NETアセンブリ, 1.2 Oracle Universal Installer, 1.4 OracleCacheDependencyクラス

クラスの説明, 9

コンストラクタ, 9

メンバー, 9

メソッド, 9

プロパティ, 9

OracleMembershipProviderクラス

クラスの説明, 2

コンストラクタ, 2

メンバー, 2

パブリック・メソッド, 2, 2

パブリック・プロパティ, 2

静的メソッド, 2

OraclePersonalizationProviderクラス

クラスの説明, 8

コンストラクタ, 8

メンバー, 8

パブリック・メソッド, 8

パブリック・プロパティ, 8

静的メソッド, 8

OracleProfileProviderクラス

クラスの説明, 6

コンストラクタ, 6

メンバー, 6

パブリック・メソッド, 6

パブリック・プロパティ, 6

静的メソッド, 6

OracleRoleProviderクラス, 3

クラスの説明, 3

コンストラクタ, 3

メンバー, 3

パブリック・メソッド, 3

パブリック・プロパティ, 3

静的メソッド, 3

OracleRoleProviderメンバー

OracleRoleProviderコンストラクタ, 7, 8

OracleRoleProviderメンバー, 3 OracleRoleProviderパブリック・プロパティ, 7, 8 OracleRoleProvider静的メソッド, 7, 8 OracleSessionStateStoreクラス

クラスの説明, 5

コンストラクタ, 5

メンバー, 5

パブリック・メソッド, 5

パブリック・プロパティ, 5

OracleSiteMapProviderクラス

クラスの説明, 4

コンストラクタ, 4

メンバー, 4

パブリック・メソッド, 4

パブリック・プロパティ, 4

静的メソッド, 4

Oracle.Web.dll, 1.2, 1.6 OracleWebEventProviderクラス

クラスの説明, 7

コンストラクタ, 7

メンバー, 7

パブリック・メソッド, 7

パブリック・プロパティ, 7

静的メソッド, 7

OraProvCfg, 1.4.2, 1.6

P

サンプル・コードのパスワード, はじめに

権限

付与, 1.4.1

R

ロール, 1.7.2

S

スキーマ・オブジェクト, 1.7

ロール, 1.7.2

ストアド・プロシージャ, 1.7.4

シノニム, 1.7.5

表, 1.7.1

ビュー, 1.7.3

SQLスクリプト, 1.6 ストアド・プロシージャ, 1.7.4 シノニム, 1.7.5 システム要件

Oracle Data Provider for .NET, 1.3

T

表, 1.7.1

V

ビュー, 1.7.3

X

xcopyインスタント・クライアント, 1.4

Copyright © 2007, 2013, Oracle and/or its affiliates. All rights reserved.