2013-04-29 13 views
13

私は、ASP.NET WebアプリケーションをMVC Web APIプロジェクトに変換しています。 私のメソッドの一つは、HttpRequestクラスを期待しています。ただし、Web ApiコントローラはHttpRequestMessagethis.Request)オブジェクトのみを保持します。 HttpRequestMessageHttpRequestに変換する方法をご存知ですか?HttpRequestMessageをHttpRequestに変換する

答えて

22

おそらくHttpRequestMessageに変換する必要はありません。別の方法があります。

var context = new HttpContextWrapper(HttpContext.Current); 
HttpRequestBase request = context.Request; 
+2

System.Web.HttpContext.Current.Request – sobelito

+1

これは私にとっては非常に気に入っているようですが、呼び出すことのできる関数を記述したいのですがASP.NET Web APIコントローラとASP.NET MVCコントローラから私の人生のために、私はWeb APIがMVCの上に構築できないことを理解していません(ApiControllerは通常のMVC Controllerのサブクラスである可能性があります)。代わりに、MVCとAPIを一緒に使用したい場合は、並列であるが互換性のない2つの世界を同じ概念でナビゲートする必要があります。 – Andy

0

HttpRequestBaseを使用してHttpRequestWrapperの使用/作成を試してください。

+0

「HttpRequestBase」を取得するにはどうすればよいですか?私は自分自身を創造すべきですか? (つまり、新しいオブジェクトを作成し、それに 'HttpRequestMessage'パラメータをコピーする) – Avisho

関連する問題