ASP.NET で .NET Alerts クライアント ライブラリを使用する
ASP.NET での Microsoft® .NET Alerts クライアント ライブラリの使用は、Microsoft Visual C#™ や Microsoft Visual Basic® .NET のプロジェクトと同じように COM (Component Object Model) 相互運用層によってサポートされています。詳細については、「マネージ コードで .NET Alerts クライアント ライブラリを使用する」を参照してください。
運用システムの中で ASP.NET を使用して実装する必要がある .NET Alerts 機能は、サブスクリプション ミラーリングだけです。この実装には、.NET Alerts クライアント ライブラリの NotificationsUtility オブジェクトのみを使用します。ただし、デモを作成する場合は ASP.NET ページで NotificationTransport オブジェクトを使用する必要があります。その場合、C# ではこのオブジェクトを static として宣言し、Visual Basic .NET では Application() メソッドを使用してこのオブジェクトが既に存在するかどうかを判定してください。このようにしないと、このオブジェクトを参照するページが更新されるたびに ASP.NET サーバーがこのオブジェクトを再作成しようとします。また、ページが初めて読み込まれた後で COM (Component Object Model) の致命的なエラーが発生します。
ASP.NET ページで使用する NotificationTransport オブジェクトを C# で宣言するには
static public NotificationTransportClass transport;
ASP.NET ページで使用する NotificationTransport オブジェクトを Visual Basic .NET で宣言するには
Dim transport as Object
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Other initialization code here...
If Application("transport") Is Nothing Then
Application("transport") = New MSNOTIFYLib.NotificationTransportClass()
' Initialize the object only once here.
End If
End Sub
転送オブジェクトを破棄する必要がある場合は、COM 相互運用層の ReleaseComObject() メソッドを使用します。共通言語ランタイムのガベージ コレクタでは、COM オブジェクトが直ちに解放されるとは限りません。
C# で宣言されたオブジェクトを破棄するには
System.Runtime.InteropServices.Marshal.ReleaseComObject(transport);
Visual Basic .NET で宣言されたオブジェクトを破棄するには
System.Runtime.InteropServices.Marshal.ReleaseComObject(transport)
関連項目
C# による ASP.NET を使用する | Visual Basic .NET による ASP.NET を使用する
|