다음을 통해 공유


WebInvokeAttribute 클래스

정의

서비스 작업이 논리적으로 호출 작업이며 WCF REST 프로그래밍 모델에 의해 호출될 수 있음을 나타내는 특성을 나타냅니다.

public ref class WebInvokeAttribute sealed : Attribute, System::ServiceModel::Description::IOperationBehavior
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class WebInvokeAttribute : Attribute, System.ServiceModel.Description.IOperationBehavior
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type WebInvokeAttribute = class
    inherit Attribute
    interface IOperationBehavior
Public NotInheritable Class WebInvokeAttribute
Inherits Attribute
Implements IOperationBehavior
상속
WebInvokeAttribute
특성
구현

예제

다음 예제에서는 특성을 사용하는 WebInvokeAttribute 방법을 보여줍니다.

참고

속성이 Method 다음 코드에 지정되지 않았으므로 모든 서비스 작업이 HTTP POST 메서드에 매핑됩니다.

[ServiceContract]
public interface ICalculator2
{
    [OperationContract]
    [WebInvoke]
    long Add(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "Sub?x={x}&y={y}")]
    long Subtract(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "Mult?x={x}&y={y}", BodyStyle = WebMessageBodyStyle.Bare)]
    long Multiply(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "Div?x={x}&y={y}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat=WebMessageFormat.Xml)]
    long Divide(long x, long y);

    [OperationContract]
    [WebInvoke(Method = "POST", UriTemplate = "Mod?x={x}&y={y}")]
    long Mod(long x, long y);
}
<ServiceContract()> _
Public Interface ICalculator2
    <OperationContract()> _
    <WebInvoke()> _
    Function Add(ByVal x As Long, ByVal y As Long) As Long

    <OperationContract()> _
    <WebInvoke(UriTemplate:="Sub?x={x}&y={y}")> _
    Function Subtract(ByVal x As Long, ByVal y As Long) As Long

    <OperationContract()> _
    <WebInvoke(UriTemplate:="Mult?x={x}&y={y}", BodyStyle:=WebMessageBodyStyle.Bare)> _
    Function Multiply(ByVal x As Long, ByVal y As Long) As Long

    <OperationContract()> _
    <WebInvoke(UriTemplate:="Div?x={x}&y={y}", BodyStyle:=WebMessageBodyStyle.Bare, RequestFormat:=WebMessageFormat.Xml, ResponseFormat:=WebMessageFormat.Xml)> _
    Function Divide(ByVal x As Long, ByVal y As Long) As Long

    <OperationContract()> _
   <WebInvoke(Method:="POST", UriTemplate:="Mod?x={x}&y={y}")> _
   Function Modulo(ByVal x As Long, ByVal y As Long) As Long
End Interface

설명

이 특성은 WebInvokeAttribute 호출(예: HTTP POST, PUT 또는 DELETE)을 나타내는 기본 전송 동사뿐만 아니라 작업을 서비스 작업에 UriTemplateOperationContractAttribute 적용하고 연결합니다. 이 특성은 WebInvokeAttribute 작업 설명에 메타데이터를 IOperationBehavior 추가하는 수동 작업 동작(메서드는 아무 작업도 수행하지 않음)입니다. WebInvokeAttribute 작업 설명(예: WebHttpBehavior)에서 이 메타데이터를 찾는 동작이 서비스의 동작 컬렉션에 추가되지 않는 한 서비스 작업에 특성을 적용하는 것은 효과가 없습니다. 서비스 WebInvokeAttribute 작업이 응답하는 HTTP 메서드를 결정합니다. 기본적으로 적용된 모든 메서드는 WebInvokeAttribute POST 요청에 응답합니다. 이 Method 속성을 사용하면 다른 HTTP 메서드를 지정할 수 있습니다. 서비스 작업이 GET에 응답하도록 하려면 대신 사용합니다 WebGetAttribute .

생성자

WebInvokeAttribute()

WebInvokeAttribute 클래스의 새 인스턴스를 초기화합니다.

속성

BodyStyle

서비스 작업과 주고 받는 메시지의 본문 스타일을 가져오거나 설정합니다.

IsBodyStyleSetExplicitly

IsBodyStyleSetExplicitly 속성을 가져옵니다.

IsRequestFormatSetExplicitly

IsRequestFormatSetExplicitly 속성을 가져옵니다.

IsResponseFormatSetExplicitly

IsResponseFormatSetExplicitly 속성을 가져옵니다.

Method

서비스 작업이 응답하는 프로토콜(예: HTTP) 메서드를 가져오거나 설정합니다.

RequestFormat

RequestFormat 속성을 가져오거나 설정합니다.

ResponseFormat

ResponseFormat 속성을 가져오거나 설정합니다.

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.

(다음에서 상속됨 Attribute)
UriTemplate

서비스 작업의 URI(Uniform Resource Identifier) 템플릿입니다.

메서드

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.

(다음에서 상속됨 Attribute)
Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.

(다음에서 상속됨 Attribute)
IOperationBehavior.AddBindingParameters(OperationDescription, BindingParameterCollection)

AddBindingParameters(OperationDescription, BindingParameterCollection) 메서드를 구현합니다.

IOperationBehavior.ApplyClientBehavior(OperationDescription, ClientOperation)

ApplyClientBehavior(OperationDescription, ClientOperation) 메서드를 구현합니다.

IOperationBehavior.ApplyDispatchBehavior(OperationDescription, DispatchOperation)

ApplyDispatchBehavior(OperationDescription, DispatchOperation) 메서드를 구현합니다.

IOperationBehavior.Validate(OperationDescription)

Validate(OperationDescription) 메서드를 구현합니다.

적용 대상