using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using System.Runtime.Remoting;
using System.Runtime.Serialization.Formatters;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Lifetime;
using System.Runtime.Remoting.Channels.Http;
using System.Runtime.Remoting.Messaging;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels.Ipc;
namespace MyClassLibrary.CustomProvider

{
public
class ServerCustomSink : BaseChannelSinkWithProperties, IServerChannelSink

{
private IServerChannelSink iserverchannelsink;
public ServerCustomSink(IServerChannelSink serverchannel)

{

iserverchannelsink = serverchannel;

}

IServerChannelSink 成員
#region IServerChannelSink 成員
public
void AsyncProce***esponse(IServerResponseChannelSinkStack sinkStack,
object state, IMessage msg, ITransportHeaders headers, System.IO.Stream stream)

{
if (iserverchannelsink !=
null)

iserverchannelsink.AsyncProce***esponse(sinkStack, state, msg, headers, stream);
throw
new NotImplementedException();

}
public System.IO.Stream GetResponseStream(IServerResponseChannelSinkStack sinkStack,
object state, IMessage msg, ITransportHeaders headers)

{
if (iserverchannelsink !=
null)

iserverchannelsink.GetResponseStream(sinkStack, state, msg, headers);
throw
new NotImplementedException();

}
public IServerChannelSink NextChannelSink

{

get {
return iserverchannelsink; }

}
public ServerProcessing ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders,

System.IO.Stream requestStream,
out IMessage responseMsg,
out ITransportHeaders responseHeaders,
out System.IO.Stream responseStream)

{

sinkStack.Push(
this,
"ok");
return NextChannelSink.ProcessMessage(sinkStack, requestMsg, requestHeaders, requestStream,
out responseMsg,
out responseHeaders,
out responseStream);

}

#endregion

}

}