SoapMessageStage 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定 SOAP 消息的处理阶段。
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- 继承
字段
AfterDeserialize | 8 | 恰好在将 SoapMessage 从 SOAP 消息反序列化到对象之后的阶段。 |
AfterSerialize | 2 | 恰好在序列化 SoapMessage 之后,但在通过网络发送 SOAP 消息之前的阶段。 |
BeforeDeserialize | 4 | 恰好在将 SoapMessage 从通过网络发送的 SOAP 消息反序列化到对象之前的阶段。 |
BeforeSerialize | 1 | 恰好在序列化 SoapMessage 之前的阶段。 |
示例
以下示例是实现 方法的 SOAP 扩展的 ProcessMessage 片段。 在 方法中 ProcessMessage , 的 SoapMessage 处理特定于 处理 SoapMessageStage。
// Process the SOAP message received and write to log file.
void ProcessMessage( SoapMessage^ message )
{
switch ( message->Stage )
{
case SoapMessageStage::BeforeSerialize:
break;
case SoapMessageStage::AfterSerialize:
WriteOutput( message );
break;
case SoapMessageStage::BeforeDeserialize:
WriteInput( message );
break;
case SoapMessageStage::AfterDeserialize:
break;
default:
throw gcnew Exception( "invalid stage" );
}
}
// Process the SOAP message received and write to log file.
public override void ProcessMessage(SoapMessage message)
{
switch (message.Stage)
{
case SoapMessageStage.BeforeSerialize:
break;
case SoapMessageStage.AfterSerialize:
WriteOutput( message );
break;
case SoapMessageStage.BeforeDeserialize:
WriteInput( message );
break;
case SoapMessageStage.AfterDeserialize:
break;
default:
throw new Exception("invalid stage");
}
}
' Process the SOAP message received and write to log file.
Public Overrides Sub ProcessMessage(message As SoapMessage)
Select Case message.Stage
Case SoapMessageStage.BeforeSerialize
Case SoapMessageStage.AfterSerialize
WriteOutput(message)
Case SoapMessageStage.BeforeDeserialize
WriteInput(message)
Case SoapMessageStage.AfterDeserialize
Case Else
Throw New Exception("invalid stage")
End Select
End Sub
注解
ASP.NET 提供了一种扩展性机制,用于使用 SOAP 调用 Web 服务。 扩展性机制围绕 , SoapExtension 它可以在客户端或服务器上的消息处理的特定阶段检查或修改消息。 此枚举指定 的 SoapMessage处理阶段。
下表显示了 SOAP 客户端和服务器处理期间每个阶段的发生时间。
SoapMessageStage |
处理期间SoapClientMessage | 处理期间SoapServerMessage |
---|---|---|
AfterDeserialize |
在包含来自 XML Web 服务方法调用的响应的 SOAP 消息已反序列化为 对象之后,但在客户端接收反序列化结果之前发生。 | 在包含表示 XML Web 服务方法调用的 SOAP 消息的网络请求反序列化为对象之后发生,但在调用该对象上表示 XML Web service 方法的方法之前发生。 |
AfterSerialize |
在客户端调用 XML Web 服务方法并将参数序列化为 XML 之后,但在包含该 XML 的 SOAP 消息通过网络发送之前发生。 | 在 XML Web 服务方法返回并且任何返回值序列化为 XML 之后发生,但在包含该 XML 的 SOAP 消息通过网络发送之前发生。 |
BeforeDeserialize |
在收到来自 XML Web 服务方法调用的网络响应之后,但在包含 SOAP 消息的响应反序列化为 对象之前发生。 | 在 Web 服务器收到包含 XML Web 服务方法调用的 SOAP 消息的网络请求之后,但在将 SOAP 消息反序列化为 对象之前发生。 |
BeforeSerialize |
在客户端调用 XML Web 服务方法之后,但在序列化调用之前发生。 | 在对 XML Web 服务方法的调用返回之后,但在对返回值进行序列化并通过线路发送回客户端之前发生。 |