次の方法で共有


IDeliveryProtocol.Flush Method

現在配信プロトコルが処理している通知を送信完了または中止します。

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

構文

'宣言
Sub Flush
void Flush ()
void Flush ()
void Flush ()
function Flush ()

解説

Flush メソッドは、メッセージの作成や外部配信システムへのルーティングのために保留になっている通知を配信プロトコルによって完了させる場合に、ディストリビュータから呼び出されます。

Flush メソッドは、返される前に、保留になっている処理を完了または中止する必要があります。これにより、保留中の処理にタイムアウトが適用されることがあります。タイムアウトは、アプリケーション定義のプロトコル設定またはインスタンス構成の配信チャネルの引数で構成できます。これは実装によって異なり、ディストリビュータによって強制されるものではありません。

Flush メソッドの呼び出しを使用して、未処理のトランザクションを待機または終了することができます。アプリケーションにとって適切であれば、未処理状態のコールバックをすべて 1 つのバッチとして送信できます。これにより、サーバーへのラウンドトリップを 1 回にすることができます。

ms146763.note(ja-jp,SQL.90).gifメモ :
カスタム配信プロトコルを作成する場合、まだ配信状態が記録されていないすべての通知に対する状態コールバックが送信されたことを確認してから、Flush メソッドを終了する必要があります。状態コールバックは、NotificationStatusCallback デリゲートを使用して、ディストリビュータに状態を返します。未処理の通知の状態が返されないと、ディストリビュータでエラーが発生します。NotificationStatusCallback メソッドの完了後はコールバックが許可されないため、通知の配信状態情報が不完全になる可能性があります。

使用例

Flush メソッドを実装する方法の例については、IDeliveryProtocol インターフェイスのトピックを参照してください。

スレッド セーフ

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

プラットフォーム

開発プラットフォーム

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

対象プラットフォーム

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

参照

関連項目

IDeliveryProtocol Interface
IDeliveryProtocol Members
Microsoft.SqlServer.NotificationServices Namespace