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.111.6.20, 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
Microsoft .NET Frameworkバージョン: 2.0以降
次の表にOracleWebEventProviderメンバーをリストします。
OracleWebEventProviderコンストラクタを、表7-1にリストします。
OracleWebEventProvider静的メソッドを、表7-2にリストします。
表7-2 OracleWebEventProvider静的メソッド
| 静的メソッド | 説明 |
|---|---|
|
|
|
|
|
|
OracleWebEventProviderパブリック・プロパティ
OracleWebEventProviderパブリック・プロパティを、表7-3にリストします。
表7-3 OracleWebEventProviderパブリック・プロパティ
| パブリック・プロパティ | 説明 |
|---|---|
|
|
|
|
|
コマンドが例外で実行を終了するまでに実行可能な秒数を取得します |
|
|
|
|
|
|
|
|
|
OracleWebEventProviderパブリック・メソッド
OracleWebEventProviderパブリック・メソッドを、表7-4にリストします。
表7-4 OracleWebEventProviderパブリック・メソッド
| パブリック・メソッド | 説明 |
|---|---|
|
|
ASP.NETアプリケーションの構成ファイルで指定されたプロパティ値で |
|
|
渡されたイベントを引数として処理します |
|
|
引数として渡される情報をフラッシュします |
|
|
すべてのリソースを解放します |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
このコンストラクタでは、OracleWebEventProviderクラスのインスタンスが作成されます。
オーバーロード・リスト:
このコンストラクタでは、OracleWebEventProviderクラスのインスタンスが作成されます。
このコンストラクタでは、OracleWebEventProviderクラスのインスタンスが作成されます。
宣言
// C# public OracleWebEventProvider();
備考
このコンストラクタでは、OracleWebEventProviderクラスの新規インスタンスが作成されます。
OracleWebEventProvider静的メソッドを、表7-5にリストします。
表7-5 OracleWebEventProvider静的メソッド
| 静的メソッド | 説明 |
|---|---|
|
|
|
|
|
|
OracleWebEventProviderパブリック・プロパティを、表7-6にリストします。
表7-6 OracleWebEventProviderパブリック・プロパティ
| パブリック・プロパティ | 説明 |
|---|---|
|
|
|
|
|
コマンドが例外で実行を終了するまでに実行可能な秒数を取得します |
|
|
|
|
|
|
|
|
|
このプロパティは、コマンドが例外で実行を終了するまでに実行可能な秒数を取得します。
宣言
// C#
public int CommandTimeout {get;}
プロパティ値
int
備考
プロバイダをカスタマイズするために、ASP.NET開発者は、commandTimeout属性を使用してweb.configファイルでこのプロパティに整数値を設定できます。
デフォルト値は30秒です。構成ファイル内の属性名は、大文字と小文字が区別されます。
OracleWebEventProviderパブリック・メソッドを、表7-7にリストします。
表7-7 OracleWebEventProviderパブリック・メソッド
| パブリック・メソッド | 説明 |
|---|---|
|
|
ASP.NETアプリケーションの構成ファイルで指定されたプロパティ値で |
|
|
渡されたイベントを引数として処理します |
|
|
引数として渡される情報をフラッシュします |
|
|
すべてのリソースを解放します |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
このメソッドは、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メソッドは、アプリケーションによって直接呼び出されることを意図していません。
このメソッドは、引数として渡されたイベントを処理します。
宣言
// C#
public override void ProcessEvent(WebBaseEvent eventRaised);
パラメータ
eventRaised
処理するWebBaseEventオブジェクト。
備考
このメソッドは、イベント処理を開始するためにASP.NETアプリケーションによって呼び出されます。バッファリングが有効になっている場合は、イベントがイベントのバッファに追加され、それ以外の場合はイベント情報がOracle Databaseに直接書き込まれます。
このメソッドは、引数として渡された情報をフラッシュします。
宣言
// C#
public override void ProcessEventFlush(WebEventBufferFlushInfo flushEvent);
パラメータ
flushEvent
バッファ処理されたWebイベントのコレクションを含むWebEventBufferFlushInfoオブジェクト。
備考
このメソッドは、すべてのイベントをOracle DatabaseにフラッシュするためにASP.NETアプリケーションによって呼び出されます。
このメソッドは、すべてのリソースを解放します。
宣言
// C# public override void Shutdown();
備考
このメソッドは、プロバイダがアンロードされるときにASP.NETアプリケーションによって呼び出されます。プロバイダがシャットダウンする前に、バッファリングされたすべてのイベントがOracle Databaseにフラッシュされます。