2013-04-11 27 views
2

對不起,我對Web堆棧缺乏瞭解,但這一直困擾着我幾天。無法在ServiceStack Mvc應用程序中訪問IHttpRequest

我想弄清楚如何在https://github.com/ServiceStack/SocialBootstrapApi示例的網絡控制器內訪問請求作爲IHttpRequest。

它目前是ServiceStack的MVC PowerPack的MVC3應用程序。我的請求總是解析爲System.Web.HttpRequest。我在IHttpRequest上創建了一個擴展方法來檢查當前請求是否來自移動設備,但它永遠不會被接受,因爲我的所有請求都是System.Web.HttpRequests而不是ServiceStack.ServiceHost.IHttpRequest。任何幫助將是偉大的!

回答

4

你可以做這樣的事情

var httpReq = System.Web.HttpContext.Current.ToRequestContext().Get<IHttpRequest>(); 

把請求從System.Web.HttpRequest成ServiceStack.ServiceHost.IHttpRequest。

進入SocialBootstrapApi示例控制器的請求不通過'ServiceStack管道'。控制器做inherit from ServiceStackConroller,但我認爲它的目的是在MVC和ServiceStack之間共享會話數據。 ServiceStackContoller不接收請求/響應,例如進入/api path的請求,該請求完全由示例項目中的ServiceStack處理。

+0

謝謝!這工作得很好。社交啓示的例子是偶然的?或者有沒有更好的方法來做到這一點,而不是使用微軟的mvc? – cesara 2013-04-12 22:34:09

相關問題