我在前些陣子開了好幾個梯次的 Visual Studio 2015 開發與偵錯技巧 課程,課程中有提到我們在對 .NET 應用程式進行偵錯時,有個最重要的 pdb 符號檔必須隨著專案一起發行,才能夠在執行的過程中得知完整的偵錯資訊,否則不但無法在程式執行過程中載入偵錯工具 (Debugger),連例外狀況發生時也將無法得知錯誤發生的呼叫堆疊與程式碼行數。但我們在 Visual Studio 常用的 Web 單鍵發行功能,預設設定是採用 Release 方案組態進行發布,而且預設還會將所有 pdb 符號檔排除,也就是透過 Web 單鍵發行的網站,將完全不會有相對應的 pdb 檔案,本篇文章告訴該如何設定。
... 繼續閱讀 ...
我們經常會需要在應用程式中宣告一些參數,好讓我們的程式在不用重新編譯的情況下隨時變更參數設定值,而這樣的機制老早就內建在 .NET 之中。今天我將分享幾個常見的使用案例與範例程式,教大家如何規劃 C# 類別庫 (Class Library) 的設定檔,以及如何從 ASP.NET 應用程式 ( 包含 Web Form 與 MVC )、主控台應用程式 (Console Appliation) 與 Windows Form 應用程式正確設定 app.config 或 web.config 設定檔,以變更類別庫中參數的預設值。
... 繼續閱讀 ...
長久以來,我發現有許多 .NET 開發人員其實不是很熟悉自己每天都在面對的 .NET Framework, C#, Visual Studio 與 ASP.NET 版本之間的關係,以至於經常在找資料時下錯關鍵字,不容易命中想找的資料,今日特別撰文說明這幾項技術與工具在各版本之間的關係。
... 繼續閱讀 ...
遙望十多年前,我剛出社會的時候,拿著我在大學時期接案的 74 件作品與大學四年的程式開發經驗進入職場,當時所學會的東西跟現在比起來可謂是九牛一毛,在累積了幾年的經驗之後,回頭看見有許多莘莘學子還在為了該學些甚麼而困擾,這便萌生這篇文章的契機,希望整理一些適合新手上路的學習資源,讓大家更有方向的踏入 .NET 開發生涯。
... 繼續閱讀 ...
之前一直沒有花時間去了解 npm ( Node 套件管理員 ) 的各種用法,尤其是 npm install --save 與 npm install --save-dev 的差異,今天再嘗試的時候,發現在我的本機電腦一直試不出這兩個命令有任何差異,套件都可以裝,但設定檔一直無法正確寫入,這種鬼打牆的事情,趁著這次年節假期徹底放鬆的時刻,終於被我抓到原來就是 package.json 這個檔案在搞鬼,欲知詳情,請繼續看下去。
... 繼續閱讀 ...
ELMAH (Error Logging Modules and Handlers) 專門用來紀錄 ASP.NET 網站執行時期的錯誤,對維護網站軟體品質來說有很大的幫助。不過 ELMAH 記錄的資訊過於詳細,一般來說我們都還是會設定各種存取限制,例如透過限定使用者或角色的方式。本篇文章我將說明如何透過 IIS7 / IIS8 內建的 IP Security 模組,來限制特定 IP 來源才能存取 ELMAH 錯誤紀錄頁面。
... 繼續閱讀 ...
昨天同事提到一個網後台內容上稿的問題,客戶反映一個 Bug 說有網站的連結發生問題,點進去之後會發生 A potentially dangerous Request.Path value was detected from the client (:) 的錯誤訊息,查了好一段時間後終於發現在從後台上稿的內容中,該網址的最前面原來有一個 Unicode 的不可見字元 (U+200B),導致網址錯誤,所以瀏覽器當然無法解析該網址。當在思考著如何防呆的時候,卻一時找不到一個漂亮的解決方法,這才發現到一個 String.Trim() 魔鬼般的細節。
... 繼續閱讀 ...
上週部署了一個內部網站,部署的過程由於用到很多工具與技術,其步驟稍稍有點繁瑣,特別費心整理了一下標準安裝與設定的步驟,以供後續再次部署時參考。本文會牽涉到 IIS 7.5、ASP.NET 4.5、.NET 4.5.1、SQL Server 2008 R2、Web Deploy 3.5 等技術,且該網站是以 Windows 驗證為主要驗證方法。
... 繼續閱讀 ...
TechEd North America 2013 正如火如荼的進行中,看了第一天的幾場,又再次陷入資訊爆炸的狀態。這次看見 Visual Studio 2013 推出了許多 ASP.NET 與 Web 相關功能預覽,覺得還蠻興奮的,特別摘錄 Microsoft ASP.NET, Web, and Cloud Tools Preview 影片中幾個亮點,讓大家快速掌握 VS2013 與 ASP.NET 的新功能。
... 繼續閱讀 ...