有关事件的记录写入 SharePoint 数据库。
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Function WriteAuditEvent ( _
eventId As SPAuditEventType, _
eventSource As String, _
xmlData As String _
) As Boolean
用法
Dim instance As SPAudit
Dim eventId As SPAuditEventType
Dim eventSource As String
Dim xmlData As String
Dim returnValue As Boolean
returnValue = instance.WriteAuditEvent(eventId, _
eventSource, xmlData)
public bool WriteAuditEvent(
SPAuditEventType eventId,
string eventSource,
string xmlData
)
参数
eventId
类型:Microsoft.SharePoint.SPAuditEventType正在记录的事件类型。
eventSource
类型:System.String调用应用程序的名称。
xmlData
类型:System.String有关事件的信息。
返回值
类型:System.Boolean
在所有情况下的true 。
备注
使用此方法可以编写自定义事件类型的记录或现有的事件类型的自定义版本。编写自定义事件时,将传递为eventIDCustom 。(如果您有多个类型的自定义事件,您想要将它们区分开来在审计报告中使用的WriteAuditEvent(String, String, String)重载的方法。当事件类似于现有的SPAuditEventType对象之一,并且您希望将它包括在该类型的事件的审核报告时,通过eventID的SPAuditEventType的相应值。
通过您的 SharePoint 解决方案的名称为eventSource。(可选) 将作为xmlData传递有关该事件的其他信息的最多 4000 个的字符。
您可以使用任何 XML 架构,您想要格式化xmlData,或您可以使用未定义的 XML。但是,都包括在本质上是事件数据相同的数据时, SharePoint Foundation使用在其内置事件中,阅读和处理您的数据库记录是更容易,如果您使用相同的标记。例如,如果事件数据指的是对象而不是在其上引发该事件时,使用模式<RelatedItem><Id>GUID_of_other_object</Id><Relationship>some_relationship</Relationship></RelatedItem>,这是类似于什么SharePoint Foundation使用ChildDelete事件。请参见 XML 的详细信息标记该SharePoint FoundationSPAuditEntry.EventData的主题使用。
示例
(从Item-Level Auditing with SharePoint Server 2007) 下面的示例演示在使用此方法。
SPList oList = oSiteCollection.Lists[new Guid(ListId)];
SPListItem oListItem = oList.Items.GetItemById(Convert.ToInt32(ItemId));
oListItem.Audit.WriteAuditEvent(SPAuditEventType.Custom,
"CustomViewAuditEvent", // SoureName
"<myXml>MyData</myXml>" // Any arbitrary XML data
);
Dim oList As SPList = oSiteCollection.Lists(New Guid(ListId))
Dim oListItem As SPListItem = oList.Items.GetItemById(Convert.ToInt32(ItemId))
oListItem.Audit.WriteAuditEvent(SPAuditEventType.Custom, "CustomViewAuditEvent", "<myXml>MyData</myXml>") ' Any arbitrary XML data - SoureName