2012-03-05 15 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を新しいURLに転送したようです。

あなたの症状は?

関連する問題