技术开发 频道

如何用在ASP.NET中写入事件日志

    更详尽的信息

    我们通过一个创建一个Web Application来重现以上错误以及解决此问题。 

    1. 使用VB.Net或C#建立一个Asp.net Web Application。
    2. 在WebForm1.aspx中的代码替换为以下代码:
    Visual Basic .NET Sample

<%@ Page Language="vb" AutoEventWireup="true" %> <%@ Import namespace="System.Diagnostics" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <script language="VB" runat="server"> Sub WriteEvent_Click(Src As Object, e As EventArgs) Dim ev As New EventLog("Application") ' Event's Source name ev.Source = "TEST" EventLog.CreateEventSource(ev.Source, "Application") Try ev.WriteEntry(TextBox1.Text) Catch b as exception Response.write ("WriteEntry " & b.message & "<br>") End Try ev = Nothing End Sub </script> <body> <form id="Form1" runat="server"> Event message: <asp:textbox id="TextBox1" runat="server" Width="233px"></asp:textbox> <asp:button id="Button1" onclick="WriteEvent_Click" runat="server" NAME="Button1" text="Write to event log"></asp:button> </form> </body> </HTML>

    Visual C# .NET Sample

<%@ Page Language="c#" AutoEventWireup="true" %> <%@ Import namespace="System.Diagnostics" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <script language="C#" runat="server"> void WriteEvent_Click(Object Src, EventArgs e) { EventLog ev = new EventLog("Application"); // Event's Source name ev.Source = "TEST"; EventLog.CreateEventSource(ev.Source, "Application"); try { ev.WriteEntry(TextBox1.Text); } catch (Exception b) { Response.Write("WriteEntry " + b.Message + "<br>"); } ev = null; } </script> <body> <form id="Form1" runat="server"> Event message: <asp:textbox id="TextBox1" runat="server" Width="233px"></asp:textbox> <asp:button id="Button1" onclick="WriteEvent_Click" runat="server" NAME="Button1" text="Write to event log"></asp:button> </form> </body> </HTML>

    3. 按F5启动此项目。
    4. 在TextBox输入一些字符,然后点击Write to Event Log。
    5. 在上面“现象”部分中提到的错误消息会出现。
    6. 要解决此问题,在Webform1.aspx将下面这行代码注释

EventLog.CreateEventSource(ev.Source, "Application");

    7. 重新启动此项目。

0
相关文章