Microsoft Enterprise Library
මෙය මා විසින් cPlus සගරාවට ලියන ලද ලිපියකි.
බොහෝ අය Microsoft .Net භාවිතා කර මෘදුකාංග සංවර්ධනය කරනු ලබනව. මෙවැනි අයට භාවිතා කරන්න පුළුවන් තමන්ගේ වැඩ පහසුවෙන් කරගන්න පුළුවන් Library එකක් කීවොත් නිවැරදියි. මෙය
- නොමිලයේ ලබා දේ.
- පොදු අභියෝගයන් සඳහා
- මෙය ඕනෑම ආකෘති රටාවකට(architectural style) සම්බන්ධ කර ගත හැකි වන ලෙස ඇති class කිහිපයකි.
- Architectural guidance සමග සම්පූර්ණ කේතය, ඔබට වෙනස් කිරීමට සහ වැඩිදියුණු කිරීමට බලය ඇත.
- .NET Framework හී කොටසක් නොවේ.
- Microsoft ආයතනය මගින් උදවු (support), compatibility හෝ දේශීය කරණය නොකරන Library එකකි.
බාගැනීමට http://www.microsoft.com/downloads/details.aspx?FamilyId=bcb166f7-dd16-448b-a152-9845760d9b4c&displaylang=en වෙත පිවිසෙන්න.
ඒ වගේම ව්යාපෘතියේ මුල් පිටුව සහ වෙනත් තොරතුරු සඳහා http://entlib.codeplex.com/ වෙත පිවිසෙන්න.
මෙහි අඩංගු දෑ කිහිපයක්,
- Data Access Application Block – මෙය මගින් දත්ත සමුදාය සඳහා සම්බන්ද වීම සඳහා අවෂය classes ලබා දේ.
- Logging Application Block – ඔබ විසින් ලියන ලද ඇප්ලිකේෂන් තුල ලොග් සටහන් කිරීම මෙමගින් පහසුවෙන් කල හැක.
- Caching Application Block – ලියන ලද ඇප්ලිකේෂන් එක තුල Caching භාවිතා කිරීමට අවෂය පහසුකම් මෙමගින් සපයයි.
- Validation Application Block – මෙමගින් ඔබට අවෂය වලංගු කිරීම්/ නිවැරදිද යන්න පරික්ෂා කිරීම් කිරීම සඳහා අවෂය පහසුකම් සපයයි.
මෙම මස ඔබට කියවිය හැක්කේ Logging Application Block පමණක් භාවිතා කර event log එකට Log එකක් ලියන ආකාරය කෙටියෙන් පැහැදිලි කිරීමකි.
පළමුවෙන්ම ඔබ අදාල ව්යාකපෘතියක් හදාගන්න. එය Windows හෝ Web ඇප්ලිකේෂන් එකක් විය හැකියි. ඒ සඳහා අවෂය references ලෙස [Drive Letter]: Program FilesMicrosoft Enterprise Library 5.0Bin හී ඇති
- Microsoft.Practices.EnterpriseLibrary.Data.dll
එකතු කරගන්න. එවිට ඒ සඳහා අදාල අනෙතුත් DLL ගොනු ඔබගේ ව්යාnපෘතියට එක්වේවි.
මුලින්ම Logging Application Block configure කිරීමට. අදාල ව්යාඑපෘතියේ ඇති web.Config හෝ app.Config යන ගොනුවෙහි දකුණු මවුස් බටනය ක්ලික් කර, Edit Enterprice Library V5 Configuration තෝරන්න.
එවිට ඔබගේ Configuration ගොනුව වඩා දැකුම්කලු ලෙස වින්ඩෝවක දිස්වේ. එහි “Blocks” යන්න උඩ ක්ලික් කර “Add Logging Settings” ක්ලික් කරන්න.
එවිට අදාල settings ටික ඔබට පෙන්වනු ලබයි. ඔබට අවෂය පරිදි මේ settings වෙනස් කර ගත හැක.
එසේ වෙනස් කර එය Save කිරීමට අමතක නොකරන්න.
දැන් Log සටහනක් ලෙස තබාගැනීමට අවෂය දෑ සටහන් කිරීම අපගේ application එක මගින් කල යුතුයි. මේ සඳහා Microsoft.Practices.EnterpriseLibrary.Logging යන Namespace එක ඔබගේ අදාල පිටුවට ඇතුලත් කරගන්න
C# නම්, using Microsoft.Practices.EnterpriseLibrary.Logging; ලෙසද
Vb.Net නම් Imports Microsoft.Practices.EnterpriseLibrary.Logging ලෙස ද ඇතුලත් කරගත හැකියි.
ලොග් සටහන් කිරීමට අප යොදාගන්නා Class එක Logger ලෙස හදුන්වයි. මෙහි ඇති Logger.Write() යන method එක භාවිතා කර යම් කිසි දෙයක් Log එක තුල සටහන් කල හැක.
කෙටි උදාහරණයක් ලෙසට වෙබ් පිටුවකට පැමිණෙන අය (IP එක)සහ වේලාව කෙටියෙන් සටහන් කිරීම නිදසුන බලන්න.
C#
VB.Net
මෙම Application එක Run කල විට ඔබට පහත සදහන් පින්තූරයේ ඇති ලෙස දිස්වේ.
ඒ වගේම ඔබ ඔබගේ පරිගණකයේ Event Log (eventvwr.msc) එකෙහි ඇති Application Log එක බැළුවේ නම්, ඔබට ඔබ Logger.Write තුල ලියූ දෑ දකින්නට පුළුවන්.
ඒ වගේම තව බොහෝ තොරතුරු සමග Log එක ලියන්න අවෂය නම් ඔබට LogEntry Class එක මගින් Object එකක් සාදාගෙන එය Logger.Write() method එක තුලට යැවිය හැක.
C#
VB.Net
එය මෙසේ Application Log හී පෙන්වයි.
ඒ වගේම ඔබට අවෂය නම් වෙනත් ගොනුවකට තෝරාගත් category වලට වැනි නොයෙකුත් දෑ ඔබට අවෂය ලෙස Log කිරීම කල හැක. එසේම
- event log එකට
- විද්යුත් තැපෑල වලට
- database එකකට
- message queue එකකට
- හෝ පෙළ ගොනුවකට (text file)
- Windows® Management Instrumentation (WMI) event
- application block extension points භාවිතා කර ඔබට අවෂට ස්ථානයකට
මෙසේ Log ලිවිය හැක.
වැඩි දුර තොරතුරු සඳහා Microsoft Enterprise Library ව්යාපෘති වෙබ් අඩවිය වන http://entlib.codeplex.com/ට පිවිසෙන්න.
[edited]
http://cid-041e99c2a1e700dc.office.live.com/self.aspx/Public/blog^_samples/AppBlocksDemo.zip මගින් අදාල කේතය බාගත හැක.







7 Comments on “Microsoft Enterprise Library”
Good work Harsha.
keep going..!
තේරුම් ගන්න ටිකක් අපහසු වුනත් වැදගත් ලිපියක් ෴!!
හොඳ ලිපියක්. .NET Framework එකේ Class පාවිච්චි කරන එකෙයි මෙය පාවිච්චි කරන එකෙයි තියෙන වෙනස් කම් ගැන පොඩ්ඩක් කියන්න පුලුවන්ද.
@Ranga කිසිම වෙනසක් නෑ, නමුත් මෙහි ඇති classes භාවිතා කරන්න නම් අදාල DLL ගොනු තමන්ගේ .Net Project එකට දාගන්න වෙනව. .Net Framework එකේ ඒව විශේෂයෙන් දාගන්න අවෂය නෑ මන්ද GAC එකේ ඒ ගොනු තියෙන නිසා.
@Geeth ම් මොන වගේ දේවල්ද තේරුම්ගන්න අපහසු ?
මන් මේ දවස් වල .net වලට අත් පොත් තියන් යන්නෙ…. මටත් ගොඩක් වැදගත් ලීපියක් ;-)
හොඳ ලිපියක්…මේ ගැන දිගටම ලියන්න…