ServerProcessing 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指示伺服器訊息處理的狀態。
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
- 繼承
- 屬性
欄位
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
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應