2009-10-26 3 views
0

나는 우리의 ASP.NET 응용 프로그램에 YAML로 REST 알림을 보내는 PandaStream을 사용하고 있습니다. 내가 XML로 내용을 구문 분석하려고하기 때문에 나는 웹 서비스를 질식시키고 리턴한다. 이 구문 분석을 어떻게 중지 할 수 있습니까? 어떻게 콘텐츠를 큰 문자열로 가져 와서 직접 파싱 할 수 있습니까?ASP.NET에서 REST YAML 웹 서비스를 사용합니다.

[WebMethod] 
//HOWTO? suppress XML parsing 
public void UpdateStatus() 
{ 
    // HOWTO? get content as string 
    // parse string as YAML 
    // ... 
} 

업데이트 : 일반 .aspx 페이지를 사용하는 경우 OK, 어떻게 문자열로 원시 POST 내용을받을 수 있나요?

업데이트 2 : 나는 텍스트를 얻을 수는 :

Stream s = Request.InputStream; 
byte[] buffer = new byte[s.Length]; 
s.Read(buffer, 0, (int)s.Length); 
String content = bytesToString(buffer); 

...하지만 망쳐됩니다.

--- 
:video: 
    :thumbnail: bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg 
    :duration: 15900 

... 등등,하지만 내 문자열이된다 : 다음 YAML의 오프닝 라인은

video=---%20%0a%3avideo%3a%20%0a%20%20%3athumbnail%3a%20bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg%0a%20%20%3aduration%3a%2015900 

ASP 난 그냥 할 때 "매개 변수화"는 POST 본문 보인다 원시 물건. 이것은 MIME 형식과 관련이 있습니까?

+0

POST 본문을 Request.Form [ "video"] (양식 필드라고 가정)으로 가져올 수 있습니다. –

+0

또한 데이터를 수정하는 것은 ASP.NET이 아닙니다. Fiddler를 사용하여 전선을 살펴보면 알게 될 것입니다. –

답변

1

ASMX 웹 서비스는 입력시 SOAP 만 처리 할 수 ​​있습니다. 다른 형식을 읽어야하는 경우 ASMX 웹 서비스를 사용하지 않아야합니다.

정상적인 페이지 또는 HttpHandler를 사용하고 자신의 구문 분석을 수행하십시오.

+0

하, 정상적인 페이지를 사용하여 나에게 발생하지 않았다. 감사. – Jegschemesch

관련 문제