如何使用System.Diagnostics中的EventLog类来访问本机的安全日志?
Sub bind()
Try
aLog = New EventLog()
aLog.Log = logtype.SelectedItem.Value
aLog.MachineName = "."
dt = New DataTable()
dt.Columns.Add(New DataColumn("imagestr", GetType(String)))
dt.Columns.Add(New DataColumn("TimeGenerated", GetType(Date)))
dt.Columns.Add(New DataColumn("Source", GetType(String)))
dt.Columns.Add(New DataColumn("EventID", GetType(Integer)))
dt.Columns.Add(New DataColumn("entrytype", GetType(Integer)))
dt.Columns.Add(New DataColumn("eventmess", GetType(String)))
'///////////////////////////////////////////////////
'//当aLog.Log="Security",执行到下面的语句时出错!!!
'//ex.message为:Cannot open log Security on machine .. Windows has not provided an error code.
'//是否需要对ASPNet用户的权限进行一些特殊的设置???
'///////////////////////////////////////////////////
For Each entry In aLog.Entries
Select Case (entry.EntryType)
Case EventLogEntryType.Warning
strImage = "warning.png"
Case EventLogEntryType.Error
strImage = "error.png"
Case EventLogEntryType.Information
strImage = "info.png"
End Select
If entry.EntryType = eventtype.SelectedItem.Value Then
Select Case sj.SelectedItem.Value
Case "1"
If entry.TimeGenerated >= Date.Today Then
addrow()
End If
Case "2"
If entry.TimeGenerated > Date.Today.AddDays(-1) And entry.TimeGenerated <= Date.Today Then
addrow()
End If
Case "3"
If entry.TimeGenerated > Date.Today.AddDays(-7) Then
addrow()
End If
Case "4"
If entry.TimeGenerated.Year = Date.Today.Year And entry.TimeGenerated.Month = Date.Today.Month Then
addrow()
End If
End Select
End If
Next entry
dv = New DataView(dt)
If dv.Count > 0 Then
DataGrid1.DataSource = dv
Else
errmess.Text = "<div align='center'>尚无记录!</div>"
DataGrid1.DataSource = Nothing
End If
DataGrid1.DataBind()
Catch ex As Exception
Me.errmess.Text = ex.Message
DataGrid1.DataSource = Nothing
DataGrid1.DataBind()
Finally
End Try
End Sub