ASP.NET MVC调试模式设置

l46kok

有没有办法为在调试模式下运行的网页设置一些默认设置?

例如,我想在调试模式下设置默认的会话用户ID,但是在Application_Start()中尝试此操作会导致错误:

protected void Application_Start()
{
     #if DEBUG
     Session["User"] = "1"
     #endif
}

我可以选择将其放置在控制器中,但这需要大量代码重复。

汤米

引发错误的原因是因为Session对象与请求相关联。Application_Start活动中没有任何请求您可以将此逻辑移到Application_AcquireRequestState事件处理程序,它将正常工作。

    protected void Application_AcquireRequestState(object sender, EventArgs e)
    {
        if (HttpContext.Current.IsDebuggingEnabled)
        {
            HttpContext.Current.Session["user"] = "1";
        }
        else
        {
            HttpContext.Current.Session["user"] = "0";
        } 
    }

编辑

经过进一步研究,我弄错了。在.NET管道中,上面的事件处理程序是您可以访问会话对象的第一位。尚未从服务器中检索到它,Application_BeginRequest这就是为什么要获得NullReferenceException静止图像的原因。我在MVC 5中测试了上面的代码,没有任何问题。

此外,不必依赖编译器常量,您可以轻松判断自己是否处于调试模式,或者不使用的上述语法HttpContext.Current.IsDebuggingEnabled这基本上是一个包装器,用于检查compilation标记上的web.config属性并查看是否debug="true"

注意-您必须使用HttpContext.Current.Session的完全限定名称(如上所述),因为全局事件处理程序没有对当前HttpContext的直接继承。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据调试/发布模式更改ASP.NET MVC视图的数据

来自分类Dev

Asp.net MVC动态设置TextArea

来自分类Dev

ASP.NET MVC读写设置属性

来自分类Dev

如何调试ASP.NET Core MVC数据绑定?

来自分类Dev

调试和发布ASP.Net MVC时的不同结果

来自分类Dev

当我在asp.net mvc项目上以调试模式启动浏览器时,可以告诉VS2013直接将其导航到网站的某个部分吗?

来自分类Dev

当我在asp.net mvc项目上以调试模式启动浏览器时,可以告诉VS2013直接将其导航到网站的某个部分吗?

来自分类Dev

ASP.NET MVC中的观察者模式角色

来自分类Dev

ASP.NET MVC中的jQuery模式弹出

来自分类Dev

ASP.Net Core MVC存储库模式意外处置

来自分类Dev

ASP.Net Core MVC CRUD弹出模式

来自分类Dev

选择哪种模式?Asp.net Mvc 4

来自分类Dev

最佳ASP.NET MVC异步更新模式

来自分类Dev

在ASP.NET MVC中使用foreach循环显示模式

来自分类Dev

如何在ASP.Net MVC中调用Bootstrap模式?

来自分类Dev

ASP.NET Core MVC 引导模式 - 不同的内容

来自分类Dev

用于从asp.net Web API消费数据的asp.net MVC设计模式

来自分类Dev

角色 asp.net 设置

来自分类Dev

ASP.NET MVC6:以编程方式设置webroot

来自分类Dev

ASP.NET Core MVC:设置身份Cookie的到期

来自分类Dev

如何使用ASP.Net MVC动态设置所需字段?

来自分类Dev

ASP.Net MVC 4在表单提交时设置“ onsubmit”

来自分类Dev

如何设置DropDownFor的ID和类-ASP.NET MVC

来自分类Dev

在ASP.NET MVC 4中设置外键

来自分类Dev

设置ASP.NET MVC和Javascript / jQuery?

来自分类Dev

asp.net mvc 4设置viewbag链接

来自分类Dev

ASP.NET MVC 5设置下拉列表的值

来自分类Dev

为ASP.NET MVC错误设置其他语言

来自分类Dev

通过Asp.Net MVC应用程序设置IdentityServer

Related 相关文章

热门标签

归档