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
属性值
用于答复消息的 SOAP 操作的值。The value of the SOAP action for the reply message.
例外
ReplyAction 为 null。ReplyAction is null.
示例
下面的示例演示了一个服务,该服务使用 Action 和 ReplyAction 属性显式控制输入和输出(或答复)消息的 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.