ASP.NET Web App Logging using Health Monitoring not working

Я использую VS2005 C# 2.0 и SQL Server 2005.

Я ссылаюсь на это руководство по настройке Health Monitoring.

В конце руководства есть кнопка на Default.aspx и при_нажатии_на_кнопку, новая запись будет вставлена в мою таблицу SQL.

Однако, когда моя кнопка нажата, в таблицу не вставляется запись.

Я не знаю, в чем ошибка, так как нет никаких сообщений об ошибках, поэтому я полагаю, что единственным способом является метод проб и ошибок, где я ошибся.

P.S. Я не могу скомпилировать библиотеку классов MyWebEvents, потому что нет вывода. В моем основном веб-приложении я добавил ссылку на DLL из папки bin моего MyWebEvents файла проекта. Является ли DLL, на которую я ссылался, действительной для использования, или есть шаг, который я пропустил при компиляции?

Ниже приведены коды, которые я выполнил, со ссылкой на сайт microsoft:


MyCriticalEvent.cs в MyWebEvents библиотека классов:

namespace MyWebEvents
{
public class MyCriticalEvent : WebAuditEvent
{
    private string userID;
    private string authType;
    private bool isAuthenticated;

    public MyCriticalEvent(string msg, object eventSource, int eventCode)
        : base(msg, eventSource, eventCode)
    {
        // Obtain the HTTP Context and store authentication details
        userID = HttpContext.Current.User.Identity.Name;
        authType = HttpContext.Current.User.Identity.AuthenticationType;
        isAuthenticated = HttpContext.Current.User.Identity.IsAuthenticated;
    }

    public MyCriticalEvent(string msg, object eventSource, int eventCode,
                           int eventDetailCode)
        : base(msg, eventSource, eventCode, eventDetailCode)
    {
        userID = HttpContext.Current.User.Identity.Name;
        authType = HttpContext.Current.User.Identity.AuthenticationType;
        isAuthenticated = HttpContext.Current.User.Identity.IsAuthenticated;
    }

    public override void FormatCustomEventDetails(WebEventFormatter formatter)
    {
        base.FormatCustomEventDetails(formatter);
        formatter.AppendLine("User ID: " + userID);
        formatter.AppendLine("Authentication Type: " + authType);
        formatter.AppendLine("User Authenticated: " +
                              isAuthenticated.ToString());
        formatter.AppendLine("Activity Description: Critical Operation");
    }
} 
}

Default.aspx.cs в Main Web Application:

public partial class _Default : System.Web.UI.Page 
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
    MyCriticalEvent testEvent = new MyCriticalEvent(
                                    "Critical Operation Performed",
                                    this,
                                    WebEventCodes.WebExtendedBase + 1);
    testEvent.Raise();
}
}

Web. config в Main Web Applicatiion:


    
    
        
    
    
                
        
            
            
        
        
            
            
        
        
            
            
            
        
        
            
            
            
        
        
            
            
            
        
    
    


enter image description here


Table in my database:

enter image description here


Error raised in the Event log if SQL Connection is broken:

The following exception was thrown by the web event provider 'MySqlWebEventProvider' in the application '/TestLogSite' (in an application lifetime a maximum of one exception will be logged per provider instance):


Problem Summary: При нажатии button1 на Default.aspx.cs в таблицу aspnet_WebEvent_Event не были вставлены записи журнала.

Могу ли я узнать, какую часть моего кода я сделал неправильно или упустил?

12
задан gymcode 9 February 2012 в 02:13
поделиться