ASP.NET 2.0中的健康监测系统(Health Monitoring)(1)

原文地址:http://aspnet.4guysfromrolla.com/articles/031407-1.aspx

作者:Scott Mitchell

介绍

在程序部署之前,要经历许多软件工程中定义的重要阶段,如需求分析、设计、编码和测试等。 但是,并不是说一旦程序部署并使用之后就脱离软件工程的各个阶段了。 不管一个web程序有多好的设计、多好的编码、多好的测试,它总是会有掉链子的时候。 如数据库服务器掉线,web站点比你凭经验预期的有更大的负载,或者你的web服务器本身的硬件出现问题等。 除非你的程序是很轻量级的或者是上帝给你写的,否则它总是会时不时地蹦出一些问题。

为了发现和诊断这些问题,非常重要的一步就是监视web程序并记录日志。 有很多开源的软件和微软开发的类库可以帮助你记录未处理的异常并通知给开发人员。 如何记录未处理的异常可以参看人性化地响应未处理异常 – 处理未经处理的异常。

ASP.NET 1.x不包括任何内嵌的日志和通知系统,所以需要开发人员写一些代码或者做一些配置。 然而,ASP.NET 2.0提供了内嵌的“健康监测”工具,你可以方便快捷地通过配置来把web站点的一些事件记录到事件日志、数据库、WMI、email或ASP.NET页面跟踪系统。 另外,健康监测系统是使用Provider设计模式(译者注:可以看一下我写的ASP.NET 2.0中实现Provider设计模式的文章)开发的,这样我们就可以实现自己的记录日志的逻辑了。

本文是研究ASP.NET 2.0的健康监测系统的系列文章的第一篇。 我们将在此学一学健康监测系统的基础知识,以及如何建立一个健康监测系统,从而将日志记录到SQL Server数据库。 继续往下看,你会知道得更多!

健康监测系统概述

ASP.NET 2.0的健康监测系统是用来监测运营环境中ASP.NET程序的运行状况的。 它可以记录事件信息到一个指定的日志源中。 例如,它可以记录像程序开始和停止、登录的成功和失败、未处理的异常信息等到一个像Windows事件日志或SQL Server数据库这样的日志源。 配置健康监测系统是非常容易的,只用在Web.config中增加一些配置信息从而指定事件监测者和要发往的日志源即可。

虽然.NET 2.0框架提供了一些内嵌的健康监测事件和日志源,但是当你需要增加自定义事件或换成另一个日志源的时候并不需要更改这些东西。 你可以通过扩展WebBaseEvent类来创建新的事件,通过扩展WebEventProvider类来创建自定义的日志源。 健康监测系统可以在设计模式中使用,并且允许你通过对配置信息的一些改变,从而在程序里添加自定义事件和自定义日志源。

在这个系列文章的未来的内容里,我们将会探讨一下如何创建自定义事件和自定义日志源。 而本文中,我们将只使用内嵌的事件和日志源来做示例。

时间: 2024-08-06 23:21:29

ASP.NET 2.0中的健康监测系统(Health Monitoring)(1)的相关文章

ASP.NET 2.0中的健康监测系统(Health Monitoring)(2)

原文地址:http://aspnet.4guysfromrolla.com/articles/031407-1.aspx 介绍 ASP.NET 2.0的健康监测系统是用来监测运营环境中ASP.NET程序的运行状况的. 它的工作就是记录事件信息到指定的日志源. .NET 2.0框架中包含有多种可以被健康监测系统使用的内置事件,这些事件可以监测到程序的开始和停止.未处理异常.验证失败的信息等等. .NET框架中也提供了记录这些事件的方法,你可以把这些事件信息记录到Windows事件日志.微软的SQL

ASP.NET 2.0中的健康监测系统(Health Monitoring)(3)

原文地址:http://aspnet.4guysfromrolla.com/articles/031407-1.aspx 介绍 在之前的文章中(译者注:ASP.NET 2.0中的健康监测系统(Health Monitoring)(1) - 基本应用,ASP.NET 2.0中的健康监测系统(Health Monitoring)(2) - 通过Email发送监测信息),我们已经知道了ASP.NET 2.0的健康监测系统是用于监测ASP.NET应用程序的运行状况的,它可以记录事件信息到你指定的日志源中

在ASP.NET 2.0中建立站点导航层次(1)

站点导航提供程序--ASP.NET 2.0中的站点导航提供程序暴露了应用程序中的页面的导航信息,它允许你单独地定义站点的结构,而不用考虑页面的实际物理布局.默认的站点导航提供程序是基于XML的,但是你也可以通过编写自定义的提供程序,从任何后端位置暴露这些信息. 站点导航API--站点导航API用于在应用程序的代码中访问站点导航信息,它摘录了导航信息存储的细节.你可以使用API来编程访问应用程序的导航节点. 导航控件--导航控件为页面之间的导航提供了通用的UI,例如树视图.菜单和breadcrum

抢先试用ASP.NET 2.0中的新型安全控件

asp.net|安全|控件 一. 引言 与ASP.NET 2.0一同上市的有几个新的安全控件-它们位于工具的Login选项卡中(见图1)-这些控件大大简化了Web开发人员的工作.通过使用这些新的安全控件,现在你可以执行例如用户登录.注册.口令改变等的任务:而且,为此做出的努力仅是拖放相应的控件到你的Web表单上去.在本文中,我将向你展示怎样使用这些新控件来实现用户认证. 首先,让我们探索一下LoginView.LoginStatus和LoginName三个控件的使用.首先,让我们使用Visual

asp.net 2.0中的ValidationGroup

asp.net|asp.net 在asp.net 1.1中,对于验证类控件,在使用时,遇到有的不需要验证的控件时,是十分麻烦的,就是说不可能有选择验证某些控件,而在asp.net 2.0中,新增加了validationgroup属性,可以指定验证某些控件,例子如下: <html> <body> <form runat="server"> <asp:textbox id="TextBox1" runat="serve

ASP.NET 2.0中实现跨页面提交

asp.net|页面 在ASP.NET 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面.例如FirstPage.aspx中的button只能提交到FirstPage.aspx,而不能提交到SecondPage.aspx.很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制.熟悉ASP/JSP/PHP的朋友大概很不习惯,因为以前经常使用的提交方式突然无法使用,虽然也有解决这个问题的方法(演示Webcast),可是过程太烦琐,不甚方便.令我们高兴的是,

ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型

asp.net|css|优化 ASP.NET 2.0 中增加了内建的 MasterPage 的支持,这对我们来说是一个很大的便利.然而经过一段时间的使用,我发现 MasterPage 并不是那么完美:嵌套的 MasterPage 不能支持设计时界面,以及下面要提到的Content Page 中增加 CSS 的问题. 通常,在没有 2.0 之前,我们在页面里要增加一个 CSS 引用的语法如下: <link rel="stylesheet" href="css/test.c

理解并扩展 ASP.NET 2.0 中的站点导航系统

asp.net|导航|站点 摘要:ASP.NET 2.0 站点导航系统构建于一个功能强大.灵活的体系结构之上,设计这样的体系结构是为了使其具有可扩展性.本文探究站点提供程序的体系结构并提供一个示例提供程序,该提供程序将文件系统公开为站点导航的数据源,从而替代了标准的 Web.sitemap XML 文件. 简介 大多数 web 站点采用可视化导航的某种形式来帮助用户轻松地浏览站点,以及查找他们所需的信息和 Web 页.尽管不同站点之间的感观效果千差万别,但是通常会使用相同的基本元素 - 以导航栏

asp.net 2.0中tablecontrol搭配masterpage的小bug

asp.net|erp 在asp.net 2.0中,如果在一个masterpage页面中,使用服务端的table控件的话,如下所示,会在设置视图时,没了其中的contentplaceholder,     <asp:Table ID="tbl" runat="server">            <asp:TableRow>                <asp:TableCell>                    Th