2008-09-29 5 views
7

WCF 기반 서비스에 양식 데이터를 받아 들일 필요가 있습니다. 이외의 입력 스트림을 구문 분석이 작업을 수행 할 수있는 더 좋은 방법이,WCF의 HTTP Post를 통해 양식 필드 수락

public int Inff(Stream input) 
{ 

    StreamReader sr = new StreamReader(input); 
    string s = sr.ReadToEnd(); 
    sr.Dispose(); 

    NameValueCollection qs = HttpUtility.ParseQueryString(s); 
    Debug.WriteLine(qs["field1"]); 
    Debug.WriteLine(qs["field2"]); 

    return 0; 
} 

는 WCF 가정 : - 여기

[OperationContract] 
[WebInvoke(UriTemplate = "lead/inff", 
    BodyStyle = WebMessageBodyStyle.WrappedRequest)] 
int Inff(Stream input); 

을 구현 (오류 처리 및 기타 보호 샘플)입니다 : 여기에 인터페이스입니까?

답변

5

나는 DevLink에서이 점에 관해 이야기 해 주신 것을 기억합니다.

양식 필드를 지원해야하기 때문에 양식을 가져 오는 메커니즘 (현재 수행중인 작업)은 변경되지 않습니다.

특히 양식 필드가 필요없는 새로운 응용 프로그램에 서비스를 재사용하려는 경우에는 스트림을 분해하여 XML/JSON/SOAP/Whatever로 다시 채우는 채널을 만드는 것이 좋습니다. 양식 클라이언트는이를 통해 서비스와 통신하고 양식을 사용하지 않는 클라이언트는 다른 채널 스택을 사용할 수 있습니다. 그냥 생각 ...

도움이 되길 바랍니다. 채널에 도움이 필요하면 언제든지 알려주세요.

+0

제임스 - 정보 주셔서 감사합니다! WCF 채널을 연구하는 데 ... – BryanB

+0

James, 양식 필드없이 WCF를 사용하여 구현하는 방법에 매우 관심이 있습니다. 이 방법에 대한 정보를 얻을 수있는 방향으로 나를 안내해 주시겠습니까? 미리 감사드립니다. –

0

양식 필드를 jquery로 serialize하고 json 요청을 wcf 서비스로 패키지화 할 수 있습니다.

관련 문제