不能在ServiceStack Mvc应用程序中访问IHttpRequest
本文关键字:访问 IHttpRequest 应用程序 Mvc ServiceStack 不能 | 更新日期: 2023-09-27 18:08:39
很抱歉我对web堆栈缺乏理解,但这已经困扰我好几天了。
我试图找出如何访问请求作为一个IHttpRequest内的web控制器https://github.com/ServiceStack/SocialBootstrapApi的例子。
它目前是一个MVC c3应用程序与ServiceStack的MVC PowerPack。我的请求总是解析为System.Web.HttpRequest。我在IHttpRequest上创建了一个扩展方法来检查当前请求是否来自移动设备,但它从未被捡起,因为我所有的请求都是System.Web.HttpRequests而不是ServiceStack.ServiceHost.IHttpRequest。任何帮助都太好了!
你可以这样做
var httpReq = System.Web.HttpContext.Current.ToRequestContext().Get<IHttpRequest>();
将System.Web.HttpRequest的请求转换为ServiceStack.ServiceHost.IHttpRequest。
进入SocialBootstrapApi示例的控制器的请求不是通过ServiceStack管道来的。控制器确实继承自servicestackcontroller,但我认为它的目的是在MVC和ServiceStack之间共享会话数据。servicestackcontroller不像进入/api path
的请求那样接管请求/响应,后者在示例项目中完全由ServiceStack处理。