2013-03-07 62 views
58

我的問題是這樣做的相反: How do I convert an HttpRequestBase into an HttpRequest object?如何將HttpRequest轉換爲HttpRequestBase對象?

在我的ASP.NET MVC應用程序,我有由接收HttpRequestBase作爲參數許多控制器使用的方法。

現在我必須調用該方法從另一個方法,這不是一個動作(這是一個NHibernate的攔截器)。在這第二種方法中,我可以訪問HttpContext.Current.Request,這是一個HttpRequest,我不能將它轉換爲HttpRequestBase(我認爲這可能是由於命名......)。

是否有人知道在什麼關係此班,我怎麼能解決我的問題? 謝謝。

回答

99

你要包裝你在HttpRequestWrapperHttpRequest

var wrapper = new HttpRequestWrapper(httpRequest); 

HttpRequestBaseHttpRequestWrapper繼承。

+7

可能會有所幫助'新HttpRequestWrapper(HttpContext.Current.Request)' – Yasser 2015-07-21 14:17:55

10

替代解決方案,它不需要創建一個新的實例:

var httpRequestBase = httpRequest.RequestContext.HttpContext.Request; 

我在MVC測試了這5