ASP.NET 2.0中的健康监测系统(Health Monitoring)(3) - 触发自定义事件
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> |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |