asp.net - 空 Page_Load() 方法的性能影响

标签 asp.net performance webforms

向 ASP.NET Webforms 应用程序添加新页面或用户控件时,代码隐藏类包含一个空的 Page_Load() 事件处理程序:

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

我有一个现有的 Web 应用程序,其中许多页面和控件仍然包含这些空事件处理程序(它们未使用)。

问题:这些空事件处理程序是否会对性能产生影响,是否应该将它们从所有页面和控件中删除?

请注意:我主要(或不仅仅是)担心任何运行时开销,因为调用了空事件处理程序。我还想知道页面(标记)是 JIT 编译时的任何开销(因为事件处理程序必须连接到事件 - 可能使用一些反射代码)。

更新:到目前为止还没有真正的答案,所以我不能接受其中任何一个。

最佳答案

AutoEventWireup 未在编译时完成。当它设置为 true 时,运行时必须使用 Delegate.CreateDelegate 方法查找每个页面事件处理程序。这是一篇描述此行为的精彩文章:Inside AutoEventWireup .

这里有一个类似的问题:What is the performance cost of autoeventwireup?

关于asp.net - 空 Page_Load() 方法的性能影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5408481/

相关文章:

javascript - ASP.NET 将 gridview 单元格值传递给 javascript

asp.net - 如何从表单例份验证中排除 Web 服务

asp.net-mvc - ASP.NET MVC - IsPostBack 还在这里吗?

asp.net - 我可以加载 <asp :RoleGroup> programmatically? 的 'Roles' 属性吗

sql-server - 计算 SQL Server 数据库中字符串的哈希值——值得付出努力吗?

javascript - 如何将通过 Javascript 添加的表行发布到 ASP.NET 中的服务器?

asp.net - 最好是处理 SQL 异常还是使用 customError 页面和 Global.asax 中的 Application_Error 方法?

asp.net - 从共享驱动器托管的网站中特定于服务器的 web.config

javascript - 从 chrome(扩展)发送更快的 POST 请求

java基准测试: More time for lesser input