2012-03-05 1 views
2

이의 내가 간단한 WCF 서비스는 URL을 경로 재

context.BeginRequest += (s,e)=>{ 
var ctx = HttpContext.Current; 
var method = ctx.Request.AppRelativeCurrentExecutionFilePath.RemoveFirst("~/"); 
var args = ctx.Request.QueryString.ToString();    
ctx.RewritePath("~/MyService.svc", method, args, false); 
} 

그래서 방법에 대한 각 호출이 변환됩니다

를 다시 작성
[OperationContract, WebInvoke(Method = "GET", UriTemplate = "*")] 
string TestMe() 

간단한 HTTP 모듈을 정의했다고 가정하자 매개 변수 지금은 여기에 전체 요청을 게시 할

와 testme라는 방법으로

[OperationContract, WebInvoke(Method = "POST", UriTemplate = "*")] 
string TestMe (Stream request) 

이 호출에 대해 RewritePath는 서비스 요청자가 게시하는 스트림을 전달하지 않으므로 해결 방법을 찾지 못했습니다. URL을 다시 쓰고 원본 요청 바이트 배열을 전송하는 방법은 무엇입니까?

답변

0

POST 요청을 처리하는 동안 URL 다시 쓰기는 HTTP 요청의 본문에 영향을주지 않습니다.

반면에 쿼리 문자열은 URL의 일부이므로 올바르게 새 URL로 전송 한 것처럼 보입니다.

증상은 무엇입니까?