首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从global.asax访问RequestContext

从global.asax访问RequestContext
EN

Stack Overflow用户
提问于 2009-03-30 10:59:58
回答 3查看 7K关注 0票数 11

有人知道如何从global.asax的Application_Error事件中获取当前的RequestContext吗??我的问题是,我需要做一个重定向,因此需要使用UrlHelper生成url -它接受前面提到的RequestContext。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-18 08:08:40

虽然没有直接访问RequestContext的方法,但您可以自己创建一个:

代码语言:javascript
复制
RequestContext context = new RequestContext(new HttpContextWrapper(HttpContext.Current), RouteTable.Routes.GetRouteData(new HttpContextWrapper(HttpContext.Current)))

因此,可以通过以下方式构建UrlHelper:

代码语言:javascript
复制
UrlHelper helper = new UrlHelper(new RequestContext(new HttpContextWrapper(HttpContext.Current), RouteTable.Routes.GetRouteData(new HttpContextWrapper(HttpContext.Current))));

不是很漂亮,但它能完成工作。

票数 11
EN

Stack Overflow用户

发布于 2013-03-15 20:07:09

您可以使用以下命令访问请求上下文

代码语言:javascript
复制
HttpContext.Current.Request.RequestContext

或者,如果您在Global.asax中,可以使用

代码语言:javascript
复制
Context.Request.RequestContext

直接了当。

票数 7
EN

Stack Overflow用户

发布于 2011-08-12 00:00:12

从当前HttpContext创建一个HttpContextBase,您可以从中生成一个UrlHelper:

代码语言:javascript
复制
// Create Http Context Base from current Context
var contextBase = new System.Web.HttpContextWrapper(System.Web.HttpContext.Current);
// Get its request context
System.Web.Routing.RequestContext requestContext = contextBase.Request.RequestContext;
// Build url helper from request context
var urlHelper = new System.Web.Mvc.UrlHelper(requestContext);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/696756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档