本文整理汇总了VB.NET中System.Web.Management.WebEventProvider类的典型用法代码示例。如果您正苦于以下问题:VB.NET WebEventProvider类的具体用法?VB.NET WebEventProvider怎么用?VB.NET WebEventProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WebEventProvider类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的VB.NET代码示例。
示例1: SampleEventProvider
' 导入命名空间
Imports System.Text
Imports System.IO
Imports System.Web.Management
Imports System.Collections.Generic
Imports System.Collections.Specialized
Imports System.Web
' Implements a custom event provider.
Public Class SampleEventProvider
Inherits System.Web.Management.WebEventProvider
' The local path of the file where
' to store event information.
Private logFilePath As String
' The current number of buffered messages
Private msgCounter As Integer
' The max number of messages to buffere.
Private maxMsgNumber As Integer
' The message buffer.
' private System.Collections.Generic.Queue
Private msgBuffer _
As System.Collections.Generic.Queue( _
Of System.Web.Management.WebBaseEvent) = _
New System.Collections.Generic.Queue( _
Of System.Web.Management.WebBaseEvent)
' Initializes the provider.
Public Sub New()
' Initialize the local path of the file
' that holds event information.
logFilePath = "C:/test/log.doc"
' Clear the message buffer.
msgBuffer.Clear()
' Initialize the max number of messages
' to buffer.
maxMsgNumber = 10
End Sub
' More custom initialization goes here.
' Flush the input buffer if required.
Public Overrides Sub Flush()
' Create a string builder to
' hold the event information.
Dim reData As New StringBuilder()
' Store custom information.
reData.Append( _
"SampleEventProvider processing." + _
Environment.NewLine)
reData.Append( _
"Flush done at: {0}" + _
DateTime.Now.TimeOfDay.ToString() + _
Environment.NewLine)
Dim e As WebBaseEvent
For Each e In msgBuffer
' Store event data.
reData.Append(e.ToString())
Next e
' Store the information in the specified file.
StoreToFile(reData, logFilePath, FileMode.Append)
' Reset the message counter.
msgCounter = 0
' Clear the buffer.
msgBuffer.Clear()
End Sub
' Shutdown the provider.
Public Overrides Sub Shutdown()
Flush()
End Sub
' Process the event that has been raised.
Public Overrides Sub ProcessEvent( _
ByVal raisedEvent As WebBaseEvent)
If msgCounter < maxMsgNumber Then
' Buffer the event information.
msgBuffer.Enqueue(raisedEvent)
' Increment the message counter.
msgCounter += 1
Else
' Flush the buffer.
Flush()
End If
End Sub
' Store event information in a local file.
Private Sub StoreToFile( _
ByVal [text] As StringBuilder, _
ByVal filePath As String, _
ByVal mode As FileMode)
Dim writeBlock As Integer
Dim startIndex As Integer
Try
writeBlock = 256
startIndex = 0
' Open or create the local file
' to store the event information.
Dim fs As New FileStream( _
filePath, mode, FileAccess.Write)
' Lock the file for writing.
fs.Lock(startIndex, writeBlock)
' Create a stream writer
Dim writer As New StreamWriter(fs)
' Set the file pointer to the current
' position to keep adding data to it.
' If you want to rewrite the file use
' the(following) statement instead.
' writer.BaseStream.Seek (0, SeekOrigin.Begin);
writer.BaseStream.Seek(0, SeekOrigin.Current)
'If the file already exists it must
'not be write protected, otherwise
'the following write operation fails silently.
writer.Write([text].ToString())
' Update the underlying file
writer.Flush()
' Unlock the file for other processes.
fs.Unlock(startIndex, writeBlock)
' Close the stream writer and the underlying file
writer.Close()
fs.Close()
Catch e As Exception
Throw New Exception( _
"SampleEventProvider.StoreToFile: " + _
e.ToString())
End Try
End Sub
End Class
开发者ID:VB.NET开发者,项目名称:System.Web.Management,代码行数:162,代码来源:WebEventProvider
注:本文中的System.Web.Management.WebEventProvider类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论