ServerProcessing 枚举

定义

指示服务器消息处理的状态。

public enum class ServerProcessing
[System.Serializable]
public enum ServerProcessing
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum ServerProcessing
[<System.Serializable>]
type ServerProcessing = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ServerProcessing = 
Public Enum ServerProcessing
继承
ServerProcessing
属性

字段

Async 2

调用被异步调度,这指示接收器必须将响应数据存储在堆栈上以供以后处理。

Complete 0

服务器同步处理消息。

OneWay 1

消息被调度,不能发送任何响应。

示例

public ServerProcessing ProcessMessage(IServerChannelSinkStack myServerChannelSinkStack,
   IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream,
   out IMessage msg, out ITransportHeaders responseHeaders,
   out Stream responseStream)
{
   if (myBoolEnabled)
      LoggingHelper.PrintRequest(myTextWriterOutput, requestHeaders, ref requestStream);

   myServerChannelSinkStack.Push(this, null);
   ServerProcessing myServerProcessing =
      myNewNextSink.ProcessMessage(myServerChannelSinkStack, requestMsg, requestHeaders, requestStream, out msg,
      out responseHeaders, out responseStream);

   Console.WriteLine("ServerProcessing.Complete value is:   " +ServerProcessing.Complete);
   Console.WriteLine("ServerProcessing.OneWay Value is:     " +ServerProcessing.OneWay);
   Console.WriteLine("ServerProcessing.Async value is:      " +ServerProcessing.Async);

   switch (myServerProcessing)
   {
      case ServerProcessing.Complete:
      {
         myServerChannelSinkStack.Pop(this);
         if (myBoolEnabled)
            LoggingHelper.PrintResponse(myTextWriterOutput, responseHeaders, ref responseStream);
         break;
      }

      case ServerProcessing.OneWay:
      {
         myServerChannelSinkStack.Pop(this);
         break;
      }

      case ServerProcessing.Async:
      {
         myServerChannelSinkStack.Store(this, null);
         break;
      }
   }
   return myServerProcessing;
}
Public Function ProcessMessage(ByVal myServerChannelSinkStack As IServerChannelSinkStack, _
            ByVal requestMsg As IMessage, ByVal requestHeaders As ITransportHeaders, ByVal requestStream As Stream, ByRef _
            msg As IMessage, ByRef responseHeaders As ITransportHeaders, ByRef responseStream _
            As Stream) As ServerProcessing Implements IServerChannelSink.ProcessMessage
   If myBoolEnabled Then
      LoggingHelper.PrintRequest(myTextWriterOutput, requestHeaders, requestStream)
   End If
   myServerChannelSinkStack.Push(Me, Nothing)
   Dim myServerProcessing As ServerProcessing = myNewNextSink.ProcessMessage( _
    myServerChannelSinkStack, requestMsg, requestHeaders, requestStream, msg, responseHeaders, responseStream)

   Console.WriteLine("ServerProcessing.Complete value is:   " + ServerProcessing.Complete.Tostring())
   Console.WriteLine("ServerProcessing.OneWay Value is:     " + ServerProcessing.OneWay.Tostring())
   Console.WriteLine("ServerProcessing.Async value is:      " + ServerProcessing.Async.Tostring())

   Select Case myServerProcessing
      Case ServerProcessing.Complete
         myServerChannelSinkStack.Pop(Me)
         If myBoolEnabled Then
            LoggingHelper.PrintResponse(myTextWriterOutput, responseHeaders, responseStream)
         End If

      Case ServerProcessing.OneWay
         myServerChannelSinkStack.Pop(Me)

      Case ServerProcessing.Async
         myServerChannelSinkStack.Store(Me, Nothing)

   End Select
   Return myServerProcessing
End Function 'ProcessMessage

适用于