2017年9月24日 星期日

Visual Studio : 除錯模式,會使用預設的帳號與密碼

我們經常會遇到這樣的開發情境,在開發的應用程式中,一啟動這個應用程式,需要先進行登入,輸入帳號與密碼,才能夠進入到首頁;可是,每次要進行專案除錯的時候,都需要重覆的輸入正確的帳號與密碼,才能夠繼續進行相關作業執行與除錯的工作。
這樣的開發模式顯得相當沒有效率,因此,我們可以使用 組態管理員 預設提供的兩個建置模式,分別為 Debug 與 Release 的模式;在 Debug 模式下,會自動幫我們產生一個條件式編譯的符號 DEBUG,而我們可以 C# 程式碼內,使用 C# 前置處理器指示詞 #if #else #endif 等等,就可以指定在除錯模式或者正式產品建置模式,該執行那些程式碼。
因此,我們就可以透過這樣的機制,解決我們在除錯模式下,不用自行輸入帳號與密碼,而是讓我們使用自行預設的帳號與密碼來執行相關流程。
    class Program
    {
        static void Main(string[] args)
        {
            string Account = "";
            string Password = "";

#if DEBUG
            Account = "Vulcan";
            Password = "123456";
#else
            Console.WriteLine("請輸入帳號:");
            Account = Console.ReadLine();
            Console.WriteLine("請輸入密碼:");
            Password = Console.ReadLine();
#endif

            Console.WriteLine($"你輸入的帳號與密碼為 {Account} / {Password}");
            Console.WriteLine("Press any key for continuing...");
            Console.ReadKey();
        }
    }
在上面的程式碼是我們這次要進行測試的內容,我們使用 C# 前置處理器指示詞 #if DEBUG 來確認此次建置與執行的過程,是否在除錯模式下;若為除錯模式,則你將會看到如下圖的顏色標示,在 #if DEBUG 條件成立的區塊程式碼,會有顏色標示出來,這表示,此次執行過程中,這些程式碼將會被執行,也就是,帳號與密碼這兩個變數,將會使用我們預設的數值。
Debug Build
若為 Release 模式下,您會看到下圖,此時,在執行過程中,將需要由使用者輸入帳號與密碼之後,才能夠繼續進行程式碼執行,您可以從程式碼是否為灰色看出,那些程式碼,在那些建智狀態下,可以執行或者不能執行。
Release Build
最後,我們將帳號與密碼顯示出來,確認我們的執行過程正確無誤。

沒有留言:

張貼留言