描述VB.NET EIF體系
經(jīng)過長時間學(xué)習(xí)VB.NET EIF體系,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
VB.NET EIF體系
BASIC(初學(xué)者通用符號指令碼)是絕大多數(shù)開發(fā)人員首次被介紹使用的開發(fā)語言──至少那些不是在學(xué)Basic之前先以FORTRAN, COBOL, 匯編,甚至機器語言。老程序員都知道BASIC是一門糟糕的語言。從首字母簡略詞(acronym)到語言的實際結(jié)構(gòu)(包括無法原諒的GoTo命令),程序的安全和BASIC語句都無法結(jié)合在一起。
Visual Basic將BASIC轉(zhuǎn)化為一種可使用的程序開發(fā)語言,以滿足嚴(yán)謹(jǐn)?shù)拈_發(fā)人員所用。然而,Visual Basic也缺乏實際操作中的安全特性?;诖?,很多開發(fā)人員都選擇使用C語言,因為C語言允許程序員在他們的程序中添加加密和其它安全特性。但是C和 C++有著自身的缺點,這些缺點包括代碼容易受黑客攻擊。
雖然微軟已經(jīng)在多年以前就將加密功能添加到Visual Basic,但是很多開發(fā)人員還在探討這一語言可能發(fā)生的各種問題。
首先,讓我們檢查日志記錄,尤其是如何使用VB.NET在一個.NET Framework執(zhí)行日志。事件日志指定你可能進行以下的操作:
事件類型時間和日期Source事件ID運行這一過程的用戶帳號產(chǎn)生事件的計算機目標(biāo)
在企業(yè)環(huán)境中,你可能想要執(zhí)行多種日志等級和提供分布式程序的中心記錄。
.NET Framework提供了Logging Application Block,即使用Microsoft Enterprise Instrumentation Framework (EIF)的一個可重用的代碼塊。EIF(.NET Framework v. 1.0SP2或更高版本)最大程度地簡化了日志,并提供了.NET中的事件記錄和診斷跟蹤的統(tǒng)一管理。(EIF不僅僅是面向企業(yè),它還可用于單一服務(wù)器的程序。)
例如,從程序中引發(fā)一個事件只需要一行VB.NET代碼:
- EventSource.Application.Raise(adminMessageEvent)
VB.NET EIF體系中包含5個重要的部分:
1.事件計劃(Event schema)具有可擴展性,其描述每一事件類型中的數(shù)據(jù)類型和程序要引發(fā)的事件類型。
2.事件源(Event sources)為與EIF交互和用于引發(fā)事件的程序?qū)ο蟆?/P>
3.指令A(yù)PI(Instrumentation API)處理被引發(fā)的事件并處理數(shù)據(jù),開發(fā)人員可以無需改變原始程序的基礎(chǔ)上改變事件報告的方式。
4.EIF中包括三個事件接收器(event sink),以確保事件處于日志存儲中:
1)Windows管理指令(Windows Management Instrumentation)。
2)Windows 事件日志(Windows Event Log)。
3)Windows跟蹤日志(Windows Trace Log)。
5.XML配置文件決定了如何將引發(fā)事件發(fā)送到正確的事件接收器(event sink)中。這也就是開發(fā)人員如何設(shè)置事件源注冊,接收器設(shè)置,事件類型,以及事件過濾器。
【編輯推薦】