快速业务通道

ASP.NET 2.0中的健康监测系统(Health Monitoring)(3) - 触发自定义事件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-19
LockedOut Then   ''The user account is locked out!      ''Raise the AttemptingToLogIntoLockedAccount event   ''This will record this event via ASP.NET''s Health Monitoring feature      ''First, create the event   Dim lockedOutEvent As New AttemptingToLogIntoLockedAccount( _          "Attempting to Login to a Locked Out Account!!", _          Me, _          Login1.UserName)      ''Now, raise it!!   lockedOutEvent.Raise()  End If      Code removed for brevity End Sub

C#(译者改)

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
  
public partial class Security_Login : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
  
  }
  
  protected void Login1_LoginError(object sender, EventArgs e)
  {
    if (Membership.GetUser(((Login)LoginView1.FindControl("Login1")).UserName).IsLockedOut)
    {
      AttemptingToLogIntoLockedAccountEvent lockedOutEvent =
        new AttemptingToLogIntoLockedAccountEvent("被锁定的用户试图登录!!!", this, ((Login)LoginView1.FindControl("Login1")).UserName);
  
      lockedOutEvent.Raise();
    }
  }
}

当我们创建AttemptingToLogIntoLockedAccount对象的时候,使用“Attempting to Login to a Locked Out Account!!”作为事件信息,使用当前的ASP.NET页的实例作为事件源,使用因被锁定而登录失败的用户名作为第三个参数。 接下来调用AttemptingToLogIntoLockedAccount对象的Raise()方法。 这样,健康监测系统就会将事件记录到Web.config中指定的数据源中。

为了记录AttemptingToLogIntoLockedAccount事件,我们需要对Web.config做一些配置

我们还没有给AttemptingToLogIntoLockedAccount事件配置任何用于记录的日志源。 所以,当被锁定的用户试图登录,然后出发了这个事件的时候,该事件是不会被记录的。 为了记录AttemptingToLogIntoLockedAccount事件,我们需要对Web.config做一些配置。 下面的代码演示了健康监测系统如何记录事件到SQL Server日志源。

<configuration>
<system.web>
<healthMonitoring enabled="true">
<eventMappings>
<clear/>
<!-- Log only AttemptingToLogIntoLockedAccount events -->
<add name="AttemptingToLogIntoLockedAccount Errors" type="AttemptingToLogIntoLockedAccount" startEventCode="0" endEventCode="2147483647"/>
</eventMappings>
<providers>
<clear/>
<!-- Provide any customized SqlWebEventProvider information here (such as a different connection string name value -->
<add connectionStringName="LocalSqlServer" maxEventDetailsLength="1073741823" buffer="false" name="SqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider"/>
</

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号