首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET MVC不会调用global.asax的EndRequest

您好!感谢您的提问。

ASP.NET MVC 不会调用 global.asax 的 EndRequest 事件。这是因为 ASP.NET MVC 是一种 Web 应用程序框架,它使用控制器和视图模型来处理用户请求,而不是使用全局应用程序类(global.asax)中的事件。

在全局应用程序类中,EndRequest 事件在 ASP.NET 请求处理管道的最后一步被调用,用于处理请求完成后的任务。然而,在 ASP.NET MVC 中,由于它使用不同的请求处理管道,EndRequest 事件不会被调用。

如果您需要在 ASP.NET MVC 中处理类似于 EndRequest 的任务,可以使用过滤器(filters)或拦截器(interceptors)来实现。这些技术允许您在请求处理的不同阶段执行代码,例如在请求完成时执行代码。

您可以使用以下链接了解更多关于 ASP.NET MVC 请求处理管道和过滤器的信息:

希望这个答案能够解决您的问题。如果您有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET三剑客 HttpApplication HttpModule HttpHandler 解析

提起HttpApplication就不得不说全局配置文件global.asaxglobal.asax文件为每个Web应用程序提供了一个从HttpApplication派生Global类。...ASP.NET MVC程序入口 每个Web应用程序都会有一个Global实例,作为应用程序唯一入口。...所有事件中,只有EndRequest事件是肯定会触发,(部分Module)BeginRequest有可能也不会被触发。这个我们会在后面的HttpModule中提及。...它们调用时机为: Init方法在Application_Start之后调用,而Dispose在Application_End之前调用,另外Application_Start在整个ASP.NET应用生命周期内只激发一次...我们需要告知ASP.NET我们有哪些需要处理HttpModule,否则打死它他也不会知道我们自定义HttpModule。

2.2K91
  • 一:理解ASP.NET运行机制(例:通过HttpModule来计算页面执行时间)

    一:简要介绍一下asp.net执行步骤 1.IIS接收到客户请求 2. IIS把请求交给aspnet_isapi.dll处理 3.(如果是第一次运行程序)装载bin目录中dll 4....(如果是第一次运行程序)编译装载global.asax,初始化HttpApplication实例 6.创建响应请求HttpContext 7.创建承载响应结果HttpTextWriter 8.找到合适...HttpHandler(asp.net页面),处理http请求 9.处理session,异常 10.把处理结果反馈个客户 当HttpApplication实例创建后, 会调用InitModules(...)方法, 这个方法会根据webconfig文件中配置调用相应HttpModule 这就是可定制HttpModule 二:通过定制HttpModule来计算页面执行时间 当HttpApplication...这些事件也是HttpApplication处理管线中各种事件 常用就是BeginRequest和EndRequest 下面我们做一个例子来实现计算页面的执行时间 先看webconfig代码

    49620

    Global.asax中获取Session注意事项

    于是就用Global.asax来实现,本来很方便,但为了获取当前登录用户,需要在Global.asax中获取Session,花了点时间才搞定,记录下来分享一下。...本来想在Application_BeginRequest或者Session_Start里面获取,可怎么也获取不到,于是翻看MSDN了解Global.asax事件及执行顺序,在Application_AcquireRequestState...;请求参数为:;页面加载时间:16552.7343 毫秒] 最后附上MSDN上对Global.asax解释: 按执行顺序来解释一下Global.asax.cs中相应事件处理方法含义 Application_BeginRequest...Application_UpdateRequestCache:在ASP.NET执行完处理程序后,为了后续请求而更新响应缓存时执行。...Application_EndRequest:同上,EndRequest是在响应Request时最后一个触发事件,这个方法自然就是最后一个执行了。

    1.4K20

    WCF技术剖析之四:基于IISWCF服务寄宿(Hosting)实现揭秘

    换句话说,就HttpApplication从BeginRequest到EndRequest整个请求处理生命周期来说,对于基于.svc文件请求仅仅延续到PostAuthenticateRequest阶段...现在我们为之添加一个global.asax,在该global.asax,我通过如下代码注册了HttpApplication处理请求前三个事件:BeginRequest、AuthenticateRequest...此外,HttpModule注册操作会先于定义在global.asaxApplication_PostAuthenticateRequest方法执行,那么在整个服务调用过程中,只有Application_BeginRequest...除了ASP.NET提供一些少量底层服务,比如动态编译和AppDomain管理等,绝大部分ASP.NET对传统ASP.NET资源请求处理机制将不会应用在基于WCF Service请求处理流程中。...一样方式来处理基于.svc请求,对WCF Service请求处理将会贯穿HttpApplication请求处理整个生命周期(从BeginRequest到EndRequest)。

    1.2K100

    采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)

    MiniProfiler~ 这个东西介绍如下: MVC MiniProfiler是Stack Overflow团队设计一款对ASP.NET MVC性能分析小程序。...本文采用环境与技术 系统:WIN7 数据库:SQL Server2008 相关技术:MVC5+EF6.1.3 第一章:开始监控 首先,明确一下本博文目标,监控EFSql和执行时间,监控MVC页面的执行时间...MiniProfiler.MVC4(注:这里MVC4是可以分析MVC4,5两个版本,使用MVC3同学请自行下载MiniProfiler.MVC3) ?...至此,我们所需要安装程序包就全部OK了, 下面我们开始监控: 首先,给你Global.asax文件中加入: protected void Application_BeginRequest...//配置历史信息监控权限(在~/mini-profiler-resources/results-index中可以查看最近100次请求分析) 这里我们简单做一下权限控制, 我们在Global.asax

    1.1K60

    ASP.NET Core中间件与HttpModule有何不同

    前言 在ASP.NET Core中最大更改之一是对Http请求管道更改,在ASP.NET中我们了解HttpHandler和HttpModule但是到现在这些已经被替换为中间件那么下面我们来看一下他们不同处...HttpHandler Handlers处理基于扩展特定请求,HttpHandlers作为进行运行,同时做到对ASP.NET响应请求。...它提供了对文件特定扩展名处理传入请求, ASP.NET框架提供了一些默认Http处理程序,最常见处理程序是处理.aspx文件。下面提供了一些默认处理程序。...,它是ASP.NET中HttpModule和HttpHandler结合,它可以处理身份验证、日志请求记录等。...中间件和httpModule之间区别 HttpModule 中间件 通过web.config或global.asax配置 在Startup文件中添加中间件 执行顺序无法控制,因为模块顺序主要是基于应用程序生命周期事件

    65220

    ASP.NET Core中间件与HttpModule有何不同

    前言 在ASP.NET Core中最大更改之一是对Http请求管道更改,在ASP.NET中我们了解HttpHandler和HttpModule但是到现在这些已经被替换为中间件那么下面我们来看一下他们不同处...HttpHandler Handlers处理基于扩展特定请求,HttpHandlers作为进行运行,同时做到对ASP.NET响应请求。...它提供了对文件特定扩展名处理传入请求, ASP.NET框架提供了一些默认Http处理程序,最常见处理程序是处理.aspx文件。下面提供了一些默认处理程序。...,它是ASP.NET中HttpModule和HttpHandler结合,它可以处理身份验证、日志请求记录等。...中间件和httpModule之间区别 HttpModule 中间件 通过web.config或global.asax配置 在Startup文件中添加中间件 执行顺序无法控制,因为模块顺序主要是基于应用程序生命周期事件

    89340

    【译】ASP.NET应用程序和页面生命周期

    正如我们所知,应用程序域隔离部署在同一台IIS服务器上两个不同Web应用程序。因此,即使其中一个应用程序域出现了错误,也不会影响其他应用程序域正常运作。...这样可以使应用程序域之间实现深度隔离,所以:即使进程中某个应用程序域出现错误,也不会影响其他应用程序域正常运作。 更多关于AppDomain介绍,请自行搜索,这里不再赘述。...如果你系统中存在一个global.asax文件,那么这个global.asax文件对象也会被创建。但是,需要注意是你global.asax需要继承自HttpApplication类。...Global.asax 文件(也称作 ASP.NET 应用程序文件)是可选文件,包含用于响应 ASP.NET 或 HttpModule 引发应用程序级别事件代码。...第二步(H:HttpHandler):一旦以上6个事件被触发后,ASP.NET引擎就将会调用 ProcessRequest 事件,即使你已经在项目中实现了 HttpHandler。

    1.1K30

    Asp.net MVC 之 Contorllers(二)

    [译]Asp.net MVC 之 Contorllers(一) URL 路由HTTP模块通过获取 URL,然后调用合适执行方法处理进来请求。...注 最初开发 URL 路由模块目的是作为一个 ASP.NET MVC 组件,现在已经是 ASP.NET 平台一部分,只是 ASP.NET MVCASP.NET Web Forms 提供 API...如果匹配到,请求将转到 ASP.NET MVC 领地,再调用一个控制器类进行处理。如果没有匹配到,请求将被标准 ASP.NET 运行时以最合适方式处理,很可能结果就是返回一个404。...最后,只有符合预定义 URL 格式(也就是路由)请求,才被允许享用 ASP.NET MVC 运行时服务。所有这些请求都被路由到一个共同序实例化控制器类HTTP处理程,并调用其中定义方法。...可以使用 ASP.NET MVC 应用程序中 REST 方式,ASP.NET MVC 面向他是松耦合ASP.NET MVC 承认他概念,如资源和行为,我们可以随意使用自己语法来表达和实现资源和行动行为

    1.9K60

    Asp.Net MVC2.0 Url 路由入门

    本篇文章是初识Asp.Net MVC2.0 后续介绍。此文将从Routing未开放源代码开始,还会对Asp.NetUrl重写技术做个简单介绍。...并简单介绍Asp.Net MVC2.0 Url路由技术使用。      Url路由是MVC很重要核心一部分。不过它是单独于MVC项目,而且没有开源。...它作为微软一个独立项目抽取了出来,在Asp.Net MVC中只是引用了这个dll。新建一个MVC Web项目,打开Global.asax。...date=2009-1-1&id=201 这才是真正url! 现在开始讲Asp.Net MVC路由机制,首先要有个观念就是:Asp.Net MVCurl地址是表现web程序一个逻辑结构。...新建一个Asp.Net MVC Web项目。然后按F5直接可以运行。页面会自动跳转到http://localhost:端口号/Home/Index页面。玄机还是在Global.asax中。

    86150

    ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline - Part II

    ISAPIWorkerRequest作为参数传入HttpRuntime.ProcessRequestNoDemand调用。...对于Request处理完成HttpApplication对象,不会马上销毁,而是把它放回到Pool中供下一个Request使用。...注册这些Event Handler,我们首先想到肯定就直接在HttpApplication对应Global.asax中定义我们EventHandler好了。...这是最直接办法,而且Global.asax提供一个简洁方式是我们实现显得简单:不需要向一般注册Event一样将Delegate添加到对应Event上面,而是直接通过方法名称和对应Event匹配方式直接将对应方法作为相关...在最后还说说另一个典型HttpHandler:System.Web.HttpForbiddenHandler,从名称我们不难看出,它用于那些禁止访问Resource,现在应该知道了为了Global.asax

    76690

    Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目

    这是由于MVC秉承了“约定大于配置”思想,我们在使用Asp.Net MVC3开发项目时也要注意,一定要按照它约定办事,比如:Controller在返回Action后需要一个View进行展示(当然是调用了...其他几个比较有意思文件: 一个是Web.Config,另外一个是Global.asax虽然我们大家都非常熟悉,但是跟之前我们WebFrom还是有很多区别的。...而Global.asax则在应用启动时候注册了全局Area【区域,后面会相信讲解】、全局Filter、路由等。...然后MVC经过处理调用我们Action执行。...实例,然后调用InvokeAction方法,执行Index方法,最终执行View()方法返回一个ViewResult实例,再调用自己EexcuteResult方法,将数据上下文和输出流交给视图引擎

    95010

    .NET平台系列25:从 ASP.NET 迁移到 ASP.NET Core 技术指南

    Global.asax 文件替换 ASP.NET Core 引入了启动应用新机制。 ASP.NET 应用程序入口点是 Global.asax 文件。...对于每个请求,应用程序都使用现有处理程序集链接列表头指针调用各个中间件组件。 每个中间件组件可以向请求处理管道添加一个或多个处理程序。 为此,需要返回对成为列表新头处理程序引用。...每个处理程序负责记住并调用列表中下一个处理程序。 使用 ASP.NET Core 时,应用程序入口点是 Startup,不再具有 Global.asax 依赖关系。...在下面的示例(来自默认网站模板)中,扩展方法为管道配置以下支持: 错误页 HTTP 严格传输安全 从 HTTP 重定向到 HTTPS ASP.NET Core MVC public void Configure...其他资源 将库移植到 .NET Core 其他项目迁移具体操作步骤,请参考以下博客: 《从 ASP.NET MVC 迁移到 ASP.NET Core MVC》 《从 ASP.NET Web API

    2.2K20
    领券