OperationContractAttribute.ReplyAction 属性

定义

获取或设置用于该操作答复消息的 SOAP 操作的值。Gets or sets the value of the SOAP action for the reply message of the operation.

public:
 property System::String ^ ReplyAction { System::String ^ get(); void set(System::String ^ value); };
public string ReplyAction { get; set; }
member this.ReplyAction : string with get, set
Public Property ReplyAction As String

属性值

String

用于答复消息的 SOAP 操作的值。The value of the SOAP action for the reply message.

例外

示例

下面的示例演示了一个服务,该服务使用 ActionReplyAction 属性显式控制输入和输出(或答复)消息的 SOAP 操作。The following example is a service that uses the Action and ReplyAction properties to explicitly control the SOAP actions of both the input and output (or reply) messages. 它还使用 Name 属性声明在元数据中公开的操作名称。It also uses the Name property to declare the name of the operation as exposed in metadata.

using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Text;

namespace Microsoft.WCF.Documentation
{
  [ServiceContract(Namespace="http://Microsoft.WCF.Documentation")]
  public interface ISampleService{

    [OperationContract(
      Action="http://Microsoft.WCF.Documentation/OperationContractMethod",
      Name="OCAMethod",
      ReplyAction="http://Microsoft.WCF.Documentation/ResponseToOCAMethod"
    )]
    string SampleMethod(string msg);

    [OperationContractAttribute(Action = "*")]
    void UnrecognizedMessageHandler(Message msg);
  }

  class SampleService : ISampleService
  {
    public string  SampleMethod(string msg)
    {
      Console.WriteLine("Called with: {0}", msg);
        return "The service greets you: " + msg;
    }

    public void UnrecognizedMessageHandler(Message msg)
    {
      Console.WriteLine("Unrecognized message: " + msg.ToString());
    }
  }
}
Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports System.Text

Namespace Microsoft.WCF.Documentation
  <ServiceContract(Namespace:="http://Microsoft.WCF.Documentation")> _
  Public Interface ISampleService

        <OperationContract(Action:="http://Microsoft.WCF.Documentation/OperationContractMethod", _
                           Name:="OCAMethod", ReplyAction:="http://Microsoft.WCF.Documentation/ResponseToOCAMethod")> _
        Function SampleMethod(ByVal msg As String) As String

    <OperationContractAttribute(Action := "*")> _
    Sub UnrecognizedMessageHandler(ByVal msg As Message)
  End Interface

  Friend Class SampleService
      Implements ISampleService
    Public Function SampleMethod(ByVal msg As String) As String Implements ISampleService.SampleMethod
      Console.WriteLine("Called with: {0}", msg)
         Return "The service greets you: " & msg
    End Function

    Public Sub UnrecognizedMessageHandler(ByVal msg As Message) Implements ISampleService.UnrecognizedMessageHandler
      Console.WriteLine("Unrecognized message: " & msg.ToString())
    End Sub
  End Class
End Namespace

注解

除指定答复消息操作标头的特定值以外,还可以指定字符串“*”(星号)。In addition to specifying a particular value for the action header of the reply message, you can also specify the string "*" (an asterisk). 如果在服务中指定星号,则指示 WCF 不要向消息添加答复操作,这对于直接对消息编程很有用。Specifying an asterisk in the service instructs WCF not to add a reply action to the message, which is useful if you are programming against messages directly. 在客户端应用程序中指定星号可指示 WCF 不验证答复操作。Specifying an asterisk in a client application instructs WCF not to validate the reply action.

适用于