c# - 无法在 ServiceStack Mvc 应用程序中访问 IHttpRequest

标签 c# asp.net-mvc servicestack

抱歉,我对网络堆栈缺乏了解,但这已经困扰了我几天。

我正在尝试弄清楚如何在 https://github.com/ServiceStack/SocialBootstrapApi 的 Web Controller 中以 IHttpRequest 的形式访问请求。示例。

它目前是一个带有 ServiceStack 的 MVC PowerPack 的 MVC3 应用程序。我的请求总是解析为 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 示例的 Controller 的请求不是通过“ServiceStack 管道”来的。 Controller 执行 inherit from ServiceStackConroller但我认为它的目的是在MVC和ServiceStack之间共享Session数据。 ServiceStackContoller 不会像进入 /api 路径 的请求那样接管请求/响应,在示例项目中完全由 ServiceStack 处理。

关于c# - 无法在 ServiceStack Mvc 应用程序中访问 IHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941659/

相关文章:

redis - 通过 ServiceStack/Redis MQ 对 "delayed execution"消息进行排队的推荐方法是什么?

c# - 使用c#解压文件

c# - 只要TextBox具有键盘焦点,就保持弹出窗口处于打开状态并处于事件状态

database - 从 Windows Azure 中访问 SQLServer

ASP.NET WebAPI 与 MVC 在参数的 json(反)序列化方面存在细微的行为偏差

c# - 在 MVC3 中录制音频

c# - 在 ServiceStack 请求过滤器上传递/公开 T

c# - 有没有办法将 chrome-extension 添加到 PuppeteerSharp Web 驱动程序?

c# - 在哪里可以找到 Win32 常量?

asp.net-mvc - 将 Google Analytics 仪表板集成到 MVC Razor View 中?