0
我試圖與HTTP上下文中工作(與Httpcontext.current的幫助下)在Global.asax的Application_Start事件,那麼你將收到一個錯誤: - HttpContext.Current請求在此上下文中不可用HttpContext.Current申請「不可用」,同時運行「本地IIS Web服務器
該問題可以通過使用靜態構造函數輕鬆實現,該靜態構造函數在首先訪問對象時觸發。我們可以在Application_Beginrequest中保留一個標誌事件並輕鬆確定初始化應用程序的請求。
但在這種情況下,它能夠在每一個請求,這不需要我創造,我要創建或訪問的HttpContext。當前一旦
我的代碼如下: -
`//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)
//{
//}`