IClientChannelSinkProvider.Next プロパティ
チャネル シンク プロバイダ チェイン内の次のシンク プロバイダを取得または設定します。
Property Next As IClientChannelSinkProvider
[C#]
IClientChannelSinkProvider Next {get; set;}
[C++]
__property IClientChannelSinkProvider* get_Next();__property void set_Next(IClientChannelSinkProvider*);
[JScript]
function get Next() : IClientChannelSinkProvider;function set Next(IClientChannelSinkProvider);
プロパティ値
チャネル シンク プロバイダ チェイン内の次のシンク プロバイダ。
例外
例外の種類 | 条件 |
---|---|
SecurityException | 直前の呼び出し元に、インフラストラクチャ アクセス許可がありません。 |
使用例
Public Class MyServerProcessingLogClientChannelSinkProviderData
Implements IClientChannelSinkProvider
Private myClientChannelSinkProviderNext As IClientChannelSinkProvider = Nothing
Public Sub New()
End Sub 'New
Public Sub New(ByVal myIDictionaryProperties As IDictionary, ByVal _
myICollectionProviderData As ICollection)
End Sub 'New
Public Function CreateSink(ByVal myChannelSenderData As IChannelSender, ByVal url As String, _
ByVal myRemoteChannelData As Object) As IClientChannelSink Implements _
IClientChannelSinkProvider.CreateSink
Dim myClientChannelSinkNextSink As IClientChannelSink = Nothing
If Not (myClientChannelSinkProviderNext Is Nothing) Then
myClientChannelSinkNextSink = myClientChannelSinkProviderNext.CreateSink _
(myChannelSenderData, url, myRemoteChannelData)
If myClientChannelSinkNextSink Is Nothing Then
Return Nothing
End If
End If
Return New MyLoggingClientChannelSink(myClientChannelSinkNextSink)
End Function 'CreateSink
Public Property [Next]() As IClientChannelSinkProvider Implements IClientChannelSinkProvider.Next
Get
Return myClientChannelSinkProviderNext
End Get
Set(ByVal Value As IClientChannelSinkProvider)
myClientChannelSinkProviderNext = Value
End Set
End Property
End Class 'MyServerProcessingLogClientChannelSinkProviderData
[C#]
public class MyServerProcessingLogClientChannelSinkProviderData : IClientChannelSinkProvider
{
private IClientChannelSinkProvider myClientChannelSinkProviderNext = null;
public MyServerProcessingLogClientChannelSinkProviderData()
{
}
public MyServerProcessingLogClientChannelSinkProviderData(IDictionary myIDictionaryProperties,
ICollection myICollectionProviderData)
{
}
public IClientChannelSink CreateSink(IChannelSender myChannelSenderData, String url,
Object myRemoteChannelData)
{
IClientChannelSink myClientChannelSinkNextSink = null;
if (myClientChannelSinkProviderNext != null)
{
myClientChannelSinkNextSink =
myClientChannelSinkProviderNext.CreateSink(myChannelSenderData, url, myRemoteChannelData);
if (myClientChannelSinkNextSink == null)
return null;
}
return new MyLoggingClientChannelSink(myClientChannelSinkNextSink);
}
public IClientChannelSinkProvider Next
{
get
{
return myClientChannelSinkProviderNext;
}
set
{
myClientChannelSinkProviderNext = value;
}
}
}
[C++]
public __gc class MyServerProcessingLogClientChannelSinkProviderData : public IClientChannelSinkProvider
{
private:
IClientChannelSinkProvider* myClientChannelSinkProviderNext;
public:
MyServerProcessingLogClientChannelSinkProviderData()
{
myClientChannelSinkProviderNext = 0;
}
MyServerProcessingLogClientChannelSinkProviderData(IDictionary* myIDictionaryProperties,
ICollection* myICollectionProviderData)
{
}
IClientChannelSink* CreateSink(IChannelSender* myChannelSenderData, String* url,
Object* myRemoteChannelData)
{
IClientChannelSink* myClientChannelSinkNextSink = 0;
if (myClientChannelSinkProviderNext != 0)
{
myClientChannelSinkNextSink =
myClientChannelSinkProviderNext->CreateSink(myChannelSenderData, url, myRemoteChannelData);
if (myClientChannelSinkNextSink == 0)
return 0;
}
return new MyLoggingClientChannelSink(myClientChannelSinkNextSink);
}
__property IClientChannelSinkProvider* get_Next()
{
return myClientChannelSinkProviderNext;
}
__property void set_Next( IClientChannelSinkProvider* value )
{
myClientChannelSinkProviderNext = value;
}
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- SecurityPermission (インフラストラクチャ コードを操作するために必要なアクセス許可)要求値: SecurityAction.LinkDemand; アクセス許可値: SecurityPermissionFlag.Infrastructure
参照
IClientChannelSinkProvider インターフェイス | IClientChannelSinkProvider メンバ | System.Runtime.Remoting.Channels 名前空間