asp.net – 为什么我的主机(softsyshosting.com)不支持BeginRequ
我听说过Softsys Hosting的好东西,所以我决定把我的ASP.NET MVC解决方案移交给他们.但它不会运行在他们身上.我能够将问题精确到我的BeginRequest事件处理程序.如果我有他们,我会得到一个错误.这是我的代码
protected void Application_Start() { RegisterRoutes(RouteTable.Routes); this.BeginRequest += new EventHandler(MvcApplication_BeginRequest); this.EndRequest += new EventHandler(MvcApplication_EndRequest); } void MvcApplication_EndRequest(object sender,EventArgs e) { } void MvcApplication_BeginRequest(object sender,EventArgs e) { } 我可以通过创建默认的ASP.NET MVC应用程序并添加上述代码来重现问题.奇怪的是,这个代码在我的旧主机上工作正常,它只会在我的新(共享)主机上崩溃.如果我的代码中有这些事件处理程序,我得到这个错误:
我尝试使用Softsys进行故障排除,但是它们并不是很有帮助,基本上他们只是确认我已经在我的管理控制面板中打开了“ASP.NET管道(MVC)”功能. 有人可以 告诉我,如果我编码错了 解决方法
您需要在每个HttpApplication实例中注册您的处理程序.可能有几个HttpApplication的池化实例. Application_Start只能在任何请求之前调用一次(对于IIS 6和IIS 7,在经典模式下 – 在第一个请求中为IIS 7集成模式 – 在Web应用程序启动时).所以为了让所有的工作,你需要添加事件处理程序在HttpApplication的重写Init方法或其构造函数.如果您在构造函数中添加它们,那么这些处理程序将首先被调用,甚至在注册模块的处理程序之前被调用.
所以你的代码应该是这样的: public class MySmartApp: HttpApplication{ public override void Init(){ this.BeginRequest += new EventHandler(MvcApplication_BeginRequest); this.EndRequest += new EventHandler(MvcApplication_EndRequest); } protected void Application_Start(){ RegisterRoutes(RouteTable.Routes); } } 或者这样: public class MySmartApp: HttpApplication{ public MySmartApp(){ this.BeginRequest += new EventHandler(MvcApplication_BeginRequest); this.EndRequest += new EventHandler(MvcApplication_EndRequest); } protected void Application_Start(){ RegisterRoutes(RouteTable.Routes); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在.NET Framework中引用库而不是.NET Standard
- asp.net-core – VS2017:目标框架下拉列表未显示.NET Core
- asp.net – System.Web.Cache和HTTPContext.Curent.Cache之
- ASP.NET MVC – jquery datepicker
- asp.net-mvc – 将脚本放在MVC _layout页面中的位置
- asp.net-mvc – 在App_Code中的共享@helper中使用@Html
- MVC中TempData、ViewData和ViewBag的区别
- asp.net-mvc – 如何在MVC 4 API中打印JSON脚本
- asp.net-mvc-4 – MVC4和MVCContrib
- 在ASP.NET Web App中查找内存泄漏
- asp.net-mvc-3 – 如何在ASP .NET MVC 3中验证与
- asp.net-mvc – ASP.NET MVC5/IIS Express无法调
- ASP.NET MVC4 调用存储过程
- asp.net-mvc – AsyncController如何避免使用ASP
- asp.net-mvc – ASP.NET MVC中的代码
- asp.net-mvc-5 – 什么是最新的ASP .NET MVC版本
- asp.net-mvc-3 – 在Asp.net MVC中为optgroup功能
- 在asp.net中HttpContext.Current.User和Thread.C
- asp.net-mvc – 条件数据注释
- asp.net-mvc – 如何扩展asp.net web api 2用户?