Asp.net mvc 3 HttpContext.CurrentRequest“当前请求”;“不可用”;“在运行时”;本地IIS Web服务器
我试图在global.asax中的application_start事件中使用http上下文(在Httpcontext.current的帮助下),然后您将收到一个错误:-Httpcontext。当前请求在此上下文中不可用 通过使用静态构造函数,可以很容易地解决这个问题,该构造函数在第一次访问对象时触发。我们可以在Application_Beginrequest事件中保留一个标志,并轻松确定初始化应用程序的请求 但在这种情况下,它会在每次请求时创建,这对我来说不是必需的。我想创建或访问Httpcontext.current一次 我的代码如下:-Asp.net mvc 3 HttpContext.CurrentRequest“当前请求”;“不可用”;“在运行时”;本地IIS Web服务器,asp.net-mvc-3,Asp.net Mvc 3,我试图在global.asax中的application_start事件中使用http上下文(在Httpcontext.current的帮助下),然后您将收到一个错误:-Httpcontext。当前请求在此上下文中不可用 通过使用静态构造函数,可以很容易地解决这个问题,该构造函数在第一次访问对象时触发。我们可以在Application_Beginrequest事件中保留一个标志,并轻松确定初始化应用程序的请求 但在这种情况下,它会在每次请求时创建,这对我来说不是必需的。我想创建或访问Httpco
`//var context = new HttpContextWrapper(HttpContext.Current);
//var routeData = RouteTable.Routes.GetRouteData(context) ?? new RouteData();
//var requestContext = new RequestContext(context, routeData);
//var urlHelper = new UrlHelper(requestContext);
//var url = urlHelper.Action("Home", "Index");
var httpContext = new HttpContextWrapper(HttpContext.Current);
UrlHelper urlHelper = new UrlHelper(new RequestContext(httpContext, new RouteData()));
if (urlHelper.RequestContext.HttpContext.Request.IsLocal)
{
}
//if (((requestContext.HttpContext).Request).IsLocal)
//{
//}`
集成模式下的
App\u Start
中没有HttpContext
或HttpRequest
实例。你必须解决这个问题。如果您确实需要在第一次请求时执行某些操作,请在global.asax中注册新的BeginRequest
处理程序,然后在完成后取消注册