Glimpse

در این مقاله به صورت گام به گام نشان می دهیم که چگونه می توان از Glimpse برای دیباگ آسان اپلیکیشن های ASP.Net MVC استفاده کرد.

با افزایش تقاضا در طراحی سایت، پروژه های ASP.Net در مقیاس بزرگتر و پیچیده تری تولید می شوند که به زمان بیشتری نیز برای کامپایل و دیباگ نیاز دارند. و هرزمان که QA مشکلی را گزارش می کند، باید کدها را با سناریوی دقیقی کامپایل و دیباگ نمود.

سپس تنها از اطلاعات دیباگ کردن مانند route، Controller، model، view، کلاس و کوئری های دیتابیس که از روش پارامتری استفاده می کنند آگاه می شویم که ما را در پیدا کردن ریشه مشکل ایجاد شده کمک می کند.

اما بسیار آسان تر می شد اگر تمام اطلاعات دیباگ را بدون هیچ کار اضافه ای در یک صفحه داشته باشیم.

برای این کار، ما Glimpse را در اختیار داریم که با فراهم کردن این اطلاعات دیباگ در زمان اجرا در یک صفحه جداگانه زمان دیباگ کردن را کاهش می دهد.

Glimpse به راحتی می تواند به اپلیکیشن ما معرفی شود.

Glimpse در دریافت اطلاعات دیباگ به همان خوبی دریافت جزئیات کارآیی مفید می باشد.

در این مقاله به طور گام به گام نشان می دهیم که چگونه می توان از Glimpse در پروژه استفاده کرد.

فهرست مطالب

  1. Glimpse چیست؟
  2. چگونه می توان Glimpse را تنظیم کرد؟
  3. چگونه می توان Glimpse را فعال/غیرفعال کرد؟
  4. چگونه می توان از Glimpse استفاده کرد؟
  5. معرفی تب های Glimpse
  6. تنظیمات دلخواه Glimpse
  • Glimpse چیست؟
  • Glimpse یک پلت فرم تشخیصی برای اپلیکیشن های وب می باشد و اطلاعات دیباگ را به طور مفصل با جزئیات روی صفحاتی مانند: Routing، View ها، Controller، ModelBinding با Properties، کوئری های دیتابیس با مقادیر پارامتری، تنظیمات، اطلاعات اجرایی را فراهم می کند.
  • Glimpse می تواند به راحتی از طریق Nuget در پروژه استفاده شود.
  • Glimpse یک View سمت سرور با جزئیات فراهم می کند در حالی که بقیه ابزارهای موجود (ابزارهای توسعه Fiddler و F-12) فقط view سمت کلاینت را در اختیار ما قرار می دهند.
  • Glimpse می تواند در تنظیمات دلخواه فعال یا غیرفعال شود.
  • Glimpse با همین کارایی که در Net MVC دارد می تواند در ASP.Net Web Forms نیز استفاده شود.
  • چگونه می توان Glimpse را تنظیم کرد؟

Glimpse متناسب با نسخه MVC را دانلود کرده و در پروژه نصب می کنیم.

Glimpse می تواند به دو روش نصب شود، هم با کنسول package manager و هم با Manage Nuget package به صورت زیر:

به عنوان مثال: ما این کار را برای MVC 5 در ویژوال استودیو ۲۰۱۳  انجام می دهیم.

Manage Nuget Packages را باز کرده و Glimpse را جستجو می کنیم و پکیج های زیر را نصب می کنیم:

“Glimpse” را جستجو کرده و Glimpse MVC 5 را نصب می کنیم.

 Glimpse چیست

“Glimpse.ef” را جستجو کرده و Glimpse EF6 را نصب می کنیم.

 آموزش Glimpse

زمانی که Glimpse را در پروژه MVC نصب می کنیم، رفرنس های زیر به اپلیکیشن اضافه می شود:

  • Mvc5
  • AspNet
  • Glimpse Core
  • ADO
  • EF6

همچنین حداقل تنظیمات مورد نیاز را به فایل Web.Config اضافه می کند.

تعریف تنظیمات دلخواه Glimpse

configSections
  section name=glimpse type=Glimpse.Core.Configuration.Section, Glimpse.Core /
/configSections

ماژول HTTP و Http handler را در قسمت web تعریف می کنیم.

httpModules
  add name=Glimpse type=Glimpse.AspNet.HttpModule, Glimpse.AspNet /
/httpModules
httpHandlers
  add path=glimpse.axd verb=GET 
  type=Glimpse.AspNet.HttpHandler, Glimpse.AspNet /
/httpHandlers

در آخر node مربوط به glimpse را اضافه می کنیم که می توانید برای تنظیم رفتار glimpse برحسب نیاز خود از آن استفاده نمایید.

glimpse defaultRuntimePolicy=On endpointBaseUri=~/Glimpse.axd
/glimpse

می توانیم Glimpse را برای هر یک از نسخه های MVC و EF پروژه خود اضافه کنیم.

برای MVC 4 می توانیم از دستور کنسولی زیر برای نصب Glimpse استفاده کنیم:

  • PM> Install-Package Glimpse.MVC4
  • PM> Install-Package Glimpse.EF5
  • فعال/غیرفعال کردن Glimpse در اپلیکیشن

زمانی که Glimpse در پروژه نصب شد و از پروژه اجرا گرفتیم، Glimpse نمایش داده نمی شود زیرا به طور پیش فرض این افزونه غیرفعال می باشد.

با استفاده از دکمه Turn ON/OFF در صفحه axd که از طریق آدرس http://[your-url]/Glimpse.axd/ می توان به آن دسترسی داشت، می توان Glimpse را فعال یا غیرفعال نمود.  خطایابی توسط Glimpse

چگونه از Glimpse استفاده کنیم؟

بعد از فعال کردن Glimpse در برنامه، علامت Glimpse یعنی (g) در پایین صفحه نمایش داده می شود.

 خطایابی توسط Glimpse

با کلیک کردن روی این g پنل کامل نمایش داده می شود که شامل تب های مختلف Glimpse می باشد که اطلاعات front-end تا back- end را فراهم می کند.

تب های Glimpse :

Glimpse نصب Glimpse

تب Configuration:

این تب جزئیاتی درباره web.config، تنظیمات اپلیکیشن، connection string های استفاده شده، حالت های احراز هویت، تنظیمات custom error، Default redirect page، Http handlerها و ماژول های Http را به ما می دهد.

 نصب Glimpse

در این جا می توانیم تمام اطلاعات مربوط به تنظیمات را ببینیم.

تب Routes:

تب Routes به ما Route های وب اپلیکیشن را همراه با مقادیر پیش فرض و محدودیت ها نشان می دهد. برای راحتی routeهای متناظر highlight شده اند.

 معرفی Glimpse

در اینجا می بینیم که routeها چگونه تعریف شده اند و کدام route اجرا شده است.

تب Execution:

تب Execution نحوه اجرای actionها، action resultها و action filter هایی که برای پاسخ به درخواست HTTP نیاز می باشد، نشان می دهد.

Glimpse

در این جا می توانیم ترتیب اجرای action ها را ببینیم. تب SQL: این تب کوئری های دیتابیسی که در این صفحه اجرا شده اند، نشان می دهد.

 معرفی Glimpse

در اینجا می توانیم جزئیات کوئری با پارامترهای ۱۰۰۰ را مشاهده کنیم.

تب Trace:

این تب پیام های trace شده در System.Diagnostics.Trace یا System.Diagnostics.Debug در طول چرخه حیات درخواست HTTP را نشان می دهد.

Glimpse به طور اتوماتیک عبارات Trace را نمایش می دهد و زحمت کند و کاو و جستجو در فایل های log را از میان برداشته است. فریم ورک های محبوب logزدن می تواند با برخی تنظیمات ساده به آن اضافه شود.

چگونه از Glimpse استفاده کنیم

در این جا اگر در کد صفحه خود از Trace/Debug استفاده کرده باشیم، پیام های Trace را می توانیم مشاهده کنیم.

تب Request:

این تب اطلاعات اولیه درخواست HTTP را که سرور دریافت کرده است نمایش می دهد.

دیباگر های وب سمت کلاینت (مانند FireBug) اغلب داده های مشابه را نمایش می دهند اما همان طور که مرورگر آن ها را ارسال می کند.

در اینجا می توانیم درخواست های واقعی را مشاهده کنیم. تب Session: این تب داده های مرتبط با درخواست کننده جاری که در Session ذخیره شده نمایش می دهد.

چگونه از Glimpse استفاده کنیم در این جا اگر از Session استفاده کرده باشیم، می توانیم اطلاعات مربوط به آن را مشاهده کنیم.

تب View:

این تب تمام فراخوانی ها به View Enginهای تنظیم شده و View ها را نمایش می دهد.

کار با Glimpse در MVC

تب Model Binding:

این تب model binding زیر سیستم ها در ASP.Net MVC را به صورت ویژوالی در میاورد و اطلاعات مربوط به model binder های استفاده شده برای درخواست HTTP را نمایش می دهد.

تب Metadata:

این تب metadata مربوط به مدلی را که ASP.Net MVC برای نمایش view مربوط به درخواست HTTP استفاده کرده است، نمایش می دهد.

تنظیمات Glimpse

ما می توانیم هر یک از تب های glimpse را با اضافه کردن کد زیر پنهان کنیم: مثلا تب Cache

glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd"
    tabs
        ignoredTypes
         add type="Glimpse.AspNet.Tab.Cache, Glimpse.AspNet "/

       /ignoredTypes
    /tabs
/glimpse

با استفاده از “uris” می توان glimpse را برای برخی صفحات غیرفعال کرد.

glimpse defaultRuntimePolicy=On endpointBaseUri=~/Glimpse.axd
tabs
ignoredTypes
add type=Glimpse.AspNet.Tab.Cache, Glimpse.AspNet /

/ignoredTypes
/tabs
/glimpse

در اینجا Glimpse برای کنترلر Employee کار نخواهد کرد.

Glimpse می تواند به طور دائم فعال شود و آن گاه گزینه “Turn Off” در صفحه “Glimpse.axd” کار نخواهد کرد.


glimpse defaultRuntimePolicy=On endpointBaseUri=~/Glimpse.axd
      runtimePolicies
       ignoredTypes
         add type=Glimpse.Core.Policy.ControlCookiePolicy, Glimpse.Core/
      /ignoredTypes
     /runtimePolicies
/glimpse

همچنین Glimpse می تواند به طور دائم غیرفعال شود و سپس صفحه “Glimpse.axd” برای فعال سازی/غیرفعال سازی در دسترس نخواهد بود.

glimpse defaultRuntimePolicy=Off endpointBaseUri=~/Glimpse.axd

نکات:

  1. Glimpse می تواند برای هر یک از ورژن های MVC و EF پروژه ما معرفی شود.

مانند اپلیکیشن VS2012 MVC4، می توانیم Glimpse را با دستور کنسولی زیر نصب کنیم:

PM> Install-Package Glimpse.MVC4

PM> Install-Package Glimpse.EF5

  1. Glimpse همچنین از فراخوانی های WebAPI نیز پشتیبانی می کند.

تب History و Ajax همچنین با استفاده از Ajax فراخوانی های WebAPI را دنبال می کند. تب History فراخوانی های angularjs را نیز بررسی می کند.

کار با Glimpse در MVC

 

شما به عنوان یک برنامه نویس از Glimpse استفاده میکنید و یا از Elmah ؟

دانلود فایل

دانلود با لینک مستقیم
پسورد فایل : www.mspsoft.com
فاطمه زکایی

فاطمه زکایی هستم. فارغ التحصیل کارشناسی مهندسی نرم افزار، مدت سه سال هست که در زمینه توسعه اپلیکیشن های تحت وب و اندروید و همچنین تولید محتوای تخصصی برنامه نویسی تحت وب و اندروید در مجموعه mspsoft در خدمت شما هستم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.