【问题标题】:Performance logging for WebForms pages via MVC routing通过 MVC 路由对 WebForms 页面进行性能日志记录
【发布时间】:2011-05-20 22:10:22
【问题描述】:

我们有一个遗留应用程序,它是部分 ASP.NET WebForms 和部分 ASP.NET MVC。

为了给所有 URL 一个 MVC“样式”,我们注册了一组路由来将所需的 URL 映射回 WebForms URL。

例如

routes.Map("somemapping", "NiceUrl/{page}").To("~/UglyUrl/UglyPath/{page}.aspx");

在 MVC 控制器上,我们通过继承自 ActionFilterAttribute 并覆盖 OnActionExecutingOnActionExecuted 的自定义属性实现了操作方法的性能日志记录。

我们希望为 WebForms 页面实现类似的日志记录。是否可以挂钩到路由部分并从那里登录?

【问题讨论】:

    标签: asp.net-mvc logging routing webforms asp.net-mvc-routing


    【解决方案1】:

    使用 System.Diagnostics.StopWatch 可以在全球范围内解决您的问题。

    这是我提出的解决方案:

    1. 在应用程序 BeginRequest 中实例化一个新的 StopWatch 实例。
    2.在秒表实例上调用start方法。
    3. 将秒表放在 HttpContext.Current.Items 集合中
    4. 在应用程序结束请求中,从 httpcontext 项中获取 StopWatch 实例,调用 stop 方法,并使用您选择的“Elapsed”属性来获取您想要存储的必要时间数据

    这将提供一个单一的地方,您可以在其中测量所有请求、mvc 和 webforms 的处理时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 2012-03-10
      相关资源
      最近更新 更多