WebInvokeAttribute 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
서비스 작업이 논리적으로 호출 작업이며 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 방법을 보여줍니다.
참고
속성이 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)을 나타내는 기본 전송 동사뿐만 아니라 작업을 서비스 작업에 UriTemplate
도 OperationContractAttribute 적용하고 연결합니다. 이 특성은 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) |