We need you!

We're working hard on the next version of Developer Fusion. Let us know what you think we should be up to!

Members

Technology Zones

Articles

Hosted By

MaximumASP

Info

Rated
Read 16,504 times

Contents

Related Categories

Health Monitoring in ASP.NET 2 - Installing & Configuring

Mulish Mehdi

Installing & Configuring

Health monitoring is useful to administrators who need to monitor an application and be notified when a critical error occurs, or to developers who need to add instrumentation to a mis-behaving application.


Step 1 : Installing Web Event
You can do this easily in run-time mode with this code below:

Management.SqlServices.Install("Computer Name", "SQL user name",_
"SQL password", "Database name", Management.SqlFeatures._
SqlWebEventProvider)

Step 2 : Configuring Health Monitoring
Write these elements in web.config file:

<connectionStrings>
    <clear/>
    <add name="ConnectionString" connectionString=DeveloperMeeting;
		UId=sa; Pwd=sa"/>
</connectionStrings>
  
<healthMonitoring enabled="true">
    <providers>
        <clear/>
        <add name="SqlWebEventProvider" 
        type=2.0=neutral,
		PublicKeyToken=b03f5f7f11d50a3a" 
        connectionStringName="ConnectionString" maxEventDetailsLength="1073741823" buffer="false"/>
    </providers>
    <rules>
        <clear/>
        <add name="Application Lifetime Events Rule" eventName="All Events"
		provider="SqlWebEventProvider" profile="Critical" />
    </rules>
</healthMonitoring>

You must set health monitoring's provider. you have three selections.
1- SqlWebEventProvider
2- EventLogWebEventProvider
3- MailWebEventProvider

Item one uses SQL Server for storing events and item two uses windows event log.
I would like to use "SqlWebEventProvider" in this article.

Via rules you can tell to web event whether All Events or Failure Audits stores.

Step 3 : Getting events from data store
For this step we must write two simple stored procedures for getting data and cleaning data from data store.

CREATE PROCEDURE dbo.DM_WebEvent_GetLogEvent AS
    SELECT *
    FROM dbo.aspnet_WebEvent_Events
GO

CREATE PROCEDURE dbo.DM_WebEvent_ClearAllEvent AS
    DELETE
    FROM dbo.aspnet_WebEvent_Events
GO

And two VB.NET classes for managing event log.(I used my SQL Data Provider VB.NET Class)

Comments