2010-03-03 3 views
1

다음은 코드 단편입니다. 이 두 코드의 차이점과 이러한 코드 조각에 적합한 내용을 알려주십시오. "응용 프로그램/XML"또는 "일반/텍스트"WCF REST POST XML

[OperationContract] 
[WebInvoke(Method="POST", UriTemplate="DoSomething")] 
public XElement DoSomething(XElement body) { 
    ... 
    return new XElement("Result"); 
} 

[OperationContract] 
[WebInvoke(Method="POST", UriTemplate="DoSomething")] 
public string DoSomething(string body) { 
    ... 
    return "thanks"; 
} 
+0

는 코드 섹션을 다시 포맷하십시오. – AxelEckenberger

답변

0

두 가지 방법이 형식의 URI '{BASE_URI}/해봐요'(그냥 추측)에 POST 요청에 응답

  • 첫 번째 것은 XML을 기대하고 두 번째 것은 XML POST 요청의 본문에서 문자열을 예상합니다. 첫 번째 및 일반에 대한 응용 프로그램/XML : 두 번째는 문자열 '콘텐츠 유형'설정에 대해서는 ('감사')

을 다시 보내는 동안는

  • 첫 번째) (일부 XML 데이터를 다시 전송/두 번째 텍스트.

  • 1

    WCF는 기본적으로 모든 그래서 두 엔드 포인트가 XML을 반환 XML입니다 생각한다. 두 번째 사람이 반환합니다

    <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">thanks</string> 
    

    콘텐츠 유형 application/xml을 사용합니다. POST에 문자열을 넣으려면 XML 직렬화 된 문자열을 보내야합니다. 구피는 그렇지 않습니다.

    당신은 정말 그냥 문자열을 반환하려면

    은, 당신의 반환 형식으로 스트림을 사용합니다. 또는 .Net 4에서 WCF를 살펴보십시오. 다른 유형을 반환하는 것이 훨씬 쉬워 진 것처럼 보입니다. 우리가 그것을 읽을 수 있도록