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
}
}