開發網站應用程式的時候,可以搭配一些診斷工具,方便開發人員除錯。
Glimpse (http://getglimpse.com/) 是一款內嵌至應用程式的診斷套件,不需要修改程式碼就能擁有診斷功能,強化瀏覽器 (F12,開發者模式) 辦不到的事情,比如:Sql Query。
安全性的部分,Glimpse 預設不允許遠端存取,只能用在開發環境,資訊洩漏的問題也幫我們想好了,若要開啟,請做好安全性設定
官方網站
以下文件說明提供了哪一些功能,以及相所需的套件
http://getglimpse.com/Docs/Tabs
開發環境
- Windows 10 Enterprise x64 Cht
- VS 2015 Update3 Eng
- Web Form Application 4.6.1
- Entity Framework 6.1.3
- NLog 4.3.4
- AutoMapper 4.2.1
- Elmah
安裝套件
官方套件
我的網站專案是Web Form,資料庫存取是用EF,所以我裝了以下
- PM> Install-Package Glimpse.WebForms
- PM> Install-Package Glimpse.EF6
擴充套件
我的 Environment Tab 出現了找不到 Telerik.OpenAccess.dll 的錯誤訊息,所以我裝了以下:
- PM> Install-Package Telerik.DataAccess.Core
若還需要讓診斷功能更豐富一點,可以到 http://getglimpse.com/Extensions/ 安裝,我還安裝了以下
- PM> Install-Package Newtonsoft.Json.Glimpse
- PM> Install-Package Glimpse.NLog
- PM> Install-Package Glimpse.AutoMapper
- PM> Install-Package Glimpse.Elmah
安裝完畢後,瀏覽 http://your server/glimpse.axd,啟用它
Security
Remote Access
預設,就已經把遠端存取關閉了,若需要開啟遠端存取,在 Web.config 忽略 Glimpse.AspNet.Policy.LocalPolicy 即可
安全性的問題,不建議開啟,若要開啟,請三思!!!
我想你不會想要讓別人看到你的 ConnectString、Sql Command、ASP.NET版本、相關套件
<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
<logging level="Trace" />
<runtimePolicies>
<ignoredTypes>
<!--允許遠端存取-->
<add type="Glimpse.AspNet.Policy.LocalPolicy, Glimpse.AspNet" />
</ignoredTypes>
</runtimePolicies>
<!--
For more information on how to configure Glimpse, please visit http://getglimpse.com/Help/Configuration
or access {your site}/Glimpse.axd for even more details and a Configuration Tool to support you.
-->
</glimpse>
Custom Runtime Policies
若預設的 Policy 不符合你的需求,你也能自訂,需要實作 IRuntimePolicy,搭配 Web.Conifg
http://getglimpse.com/Docs/Custom-Runtime-Policies
http://blog.getglimpse.com/2013/12/09/protect-glimpse-axd-with-your-custom-runtime-policy/
參考文資料
http://kevintsengtw.blogspot.tw/2014/06/glimpse-aspnet-webforms-adonet.html
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET