Pages

2016-05-18

ASP.NET MVC的執行亂碼訊息

在使用VS2015開發ASP.NET MVC5 Web Application時,若要一步步偵錯當然是執行Debug模式,但它的執行速度比較慢,而且進入點不好控制。所以若很複雜的偵錯,我通常直接使用Release模式(Ctrl+F5)來測跑結果,有錯誤訊息再修改就好。畢竟程序寫久有經驗了,通常只是打錯字而己。

我的習慣是修改後,直接在View的頁面(*.cshtml)視窗按滑鼠右鍵,選擇「View in Browser」來作執行測試:

View in Browser

當cs源碼裏執行有錯誤時,卻發現它出現是亂碼,即使在Web.config設定<customErrors>也無法正常顯示錯誤訊息。偶然一次機會裏,在執行jQuery AJAX存取某頁面View時,我發現在js裏可以讀出正常編碼。

因此我安裝Chrome Postman這個套件,使用GET方式貼上測試頁面的網址(下圖編號2),即可產生正確的錯誤訊息。從此,這樣的方式就是我慣用的MVC專案除錯模式了。

Chrome Postman

在ASP.NET 4.6.1的MVC5 「Web Application」裏,每當異動了cs程式碼,均需重新Build Project,沒有「Website」專案自動編譯的方便功能,可惜MVC5並不完整支援Website專案。值得慶幸的是,WebApp正佈網站時,日後的cs異動只需要直接覆蓋主要的DLL即可,不需要像Website須重新Publish,算是功過相抵能接受。

No comments: