با توجه به اين كه  ASP.NET بخشی از فريمورك دات نت است ، پياده كنندگان برنامه های وب می توانند در صفحات وب نوشته شده با استفاده از فناوری ASP.NET به تمامی كلاس های موجود در فريمورك دات نت دستيابی داشته باشند . اين بدان معنی است كه از طريق يك صفحه وب ASP.NET می توان عمليات متعددی نظير پردازش تصاوير ، نوشتن در event log و يا خواندن و انعكاس performance counters در خروجی را انجام داد . گرچه استفاده از امكاناتی از اين قبيل ممكن است چالش های امنيتی مختص به خود را دارا باشد ولی با رعايت نكات ايمنی می توان پتانسيل برنامه های وب را در جهت ارائه خدمات مطلوب و بهينه به كاربران افزايش داد .
به عنوان نمونه می توان يك performance counter  جديد را اضافه و يا مقدار متناظر با يك performance counter را بازيابی و در ادامه آن را در يك صفحه وب و يا يك برنامه desktop نمايش داد .
برای استفاده از پتانسيل فوق ، از namespace با نام  System.Diagnostics  استفاده می گردد . ليست برخی از كلاس های دات نت به منظور تعامل با performance counter در  جدول 2 نشان داده شده است .

مثال : نمايش ظرفيت آزاد حافظه فيزيكی در يك صفحه وب
در كد فوق ، ظرفيت آزاد حافظه فيزيكی بر حسب مگابايت در صفحه وب نمايش داده می شود . برای انجام اين كار ، در ابتدا يك نمونه از كلاس PerformanceCounter به همراه نام گروه Memory و counter با نام Available MBytes  ايجاد شده است . برای ايجاد يك نمونه از كلاس PerformanceCounter از كد زير استفاده شده است .

 Dim perfFreeMem as New PerformanceCounter(“Memory”, “Available MBytes”)

بدين ترتيب يك شی با نام perfFreeMem ايجاد كه  Performance counter  مورد نظر را ارائه می نمايد . برای خواندن مقدار جاری counter از متد  NextValue استفاده می گردد تا مقدار بعدی Performance counter را برگرداند . با نسبت دادن مقدار برگردانده شده به خصلت Text كنترل سرويس دهنده Label ، امكان مشاهده آن در خروجی فراهم می گردد .

<%@ Import Namespace = System.Diagnostics %>
<script runat=”server”>
sub Page_Load(sender as Object, e as EventArgs)
Dim perfFreeMem as New PerformanceCounter(“Memory”, “Available MBytes”)
lblFreeMem.Text = perfFreeMem.NextValue()
end sub
</script>

Free Memory (in MB):
<asp:Label id=”lblFreeMem” runat=”server” />

مراحل انجام كار در مثال فوق به شرح زير است :

  • مرحله اول : استفاده از namespace با نام System.Diagnostics در ابتدای برنامه
  • مرحله دوم : ايجاد و مقداردهی مناسب يك نمونه از كلاس PerformanceCounter تا قادر به خواندن counter با نام Available MBytes از گروه Memory  باشد .

مرحله سوم : نسبت دادن مقدار برگردانده شده توسط متد NextValue به خصلت Text كنترل سرويس دهنده label با نام lblFreeMem

دسته بندی : افزایش درآمد سایت