2011-06-23 62 views
1

我不確定它是否可行,但是在開發和測試時與C#中有什麼區別,以及網站是否已經投入使用?C#開發狀態

澄清:基本上我建立一個網站,我想可以說

if(developing or testing mode) 
    do this 
else if(in production) 
    do this 

我還沒有開始編碼所以沒有可用的代碼,但我想知道這是否可能在C#中?

謝謝

+0

我膽寒進入它工作在調試和失敗的生產和其不可能弄清楚爲什麼一個情況。 – asawyer

+0

@asawyer幸運的是,一旦可以獨立於其他調試相關設置改變調試條件符號。儘管如此,在這些檢查造成的性能損失很大的情況下,我仍然只使用調試條件進行無副作用的一致性檢查。 – CodesInChaos

回答

4
+0

你如何關閉它?就像你知道的那樣,當你有#region blah時,你用#endregion關閉它......有沒有像這樣的 – SuperUser555

+0

在鏈接上你可以看到語法。 #if DEBUG ... #endif –

1

如果你想不同的代碼實際上是針對不同的環境而建,你可以檢查出#if Preprocessor Directive

如果你只是試圖讓你的程序的行爲不同(但在相同的代碼編譯),那麼你可以設置簡單地添加到您的應用程序的app.config/web.config文件:

<appSettings> 
    <add key="environment" value="production" /> 
</appSettings> 

然後你就可以讀回:

if(ConfigurationManager.AppSettings["environment"] != "production") 
    // do this 
else 
    // do this