次の方法で共有


EventCollector.Commit Method

アプリケーション データベースにイベント バッチを送信します。

名前空間: Microsoft.SqlServer.NotificationServices
アセンブリ: Microsoft.SqlServer.NotificationServices (microsoft.sqlserver.notificationservices.dll 内)

構文

'宣言
Public Function Commit As Integer
public int Commit ()
public:
virtual int Commit () sealed
public final int Commit ()
public final function Commit () : int

戻り値

この Commit 呼び出しによって送信されたイベントの数を表す整数値です。

解説

イベント プロバイダは Write メソッドを呼び出して、(Event としてカプセル化された) イベントを EventCollector に送信します。EventCollector は、受け取ったすべてのイベントをイベント バッチに収集します。イベント プロバイダが Commit メソッドを呼び出すと、EventCollector によってイベント バッチが Notification Services アプリケーション データベースに送信されて処理されます。

EventCollector は、イベント プロバイダが Write を最初に呼び出したときに新しいイベント バッチを作成し、Abort または Commit の呼び出しの後に行われる最初の Write の呼び出し時にイベント バッチを再作成します。

使用例

Commit メソッドを使用してイベント バッチをコミットする例を次に示します。

これらの例では、Microsoft.SqlServer.NotificationServices 名前空間を使用しています。

Dim instanceName As String = "MyInstanceName"
Dim applicationName As String = "MyApplicationName"
Dim eventClassName As String = "MyEventClassName"
Dim eventProviderName As String = "MyEventProviderName"

'Create an NSInstance object.
Dim myInstance As New NSInstance(instanceName)

'Create an NSApplication object.
Dim myApplication As New NSApplication(myInstance, applicationName)

'Create an Event object.
Dim myEvent As New Microsoft.SqlServer.NotificationServices.Event( _
    myApplication, eventClassName)

'Create an EventCollector object.
Dim myEventCollector As _
    New EventCollector(myApplication, eventProviderName)

'Add code to collect event information here.

'Commit the event batch to the application database.
Dim eventsWritten As Integer = myEventCollector.Commit()
string instanceName = "MyInstanceName";
string applicationName = "MyApplicationName";
string eventClassName = "MyEventClassName";
string eventProviderName = "MyEventProviderName";

//Create an NSInstance object.
NSInstance myInstance = new NSInstance(instanceName);

//Create an NSApplication object.
NSApplication myApplication = 
    new NSApplication(myInstance, applicationName);

//Create an Event object.
Event myEvent = new Event(myApplication, eventClassName);

//Create an EventCollector object.
EventCollector myEventCollector = 
    new EventCollector(myApplication, eventProviderName);

//Add code to collect event information here.

//Commit the event batch to the application database.
int eventsWritten = myEventCollector.Commit();

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

EventCollector Class
EventCollector Members
Microsoft.SqlServer.NotificationServices Namespace