Rediger

Del via


ServerProcessing Enum

Definition

Indicates the status of the server message processing.

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
Inheritance
ServerProcessing
Attributes

Fields

Name Value Description
Complete 0

The server synchronously processed the message.

OneWay 1

The message was dispatched and no response can be sent.

Async 2

The call was dispatched asynchronously, which indicates that the sink must store response data on the stack for later processing.

Examples

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

Applies to