2011-09-09 29 views
0

有誰知道我該如何檢查頁面是否在生產,開發或測試.net c#中運行?在PHP中,我可以使用var_dump($ _ SERVER)來檢查,但不知何故,我不知道如何在.net c#中檢查它。無論如何檢查頁面是否在生產或開發中運行或在.net c#中測試?

我需要找出是否該頁面在生產/測試/開發運行,以顯示正確的標誌和網頁標題

+1

你說的是環境嗎?如生產服務器,測試服務器和開發服務器?代碼可以構建在發行版或調試模式下。 – c0deNinja

+0

@ c0deNinja:是的。這就是我的意思 –

+0

沒有「prod」,「test」或「dev」的一般概念,所以沒有通用的方法來查明。 –

回答

1

一個可能的解決方案可能是添加構建配置爲測試,爲生產可能是Release,Dev可能是Debug。對於測試配置,使用precomp dirrective就像我們爲了調試一樣。

TEST關鍵,你必須定義項目的TEST配置。

所以地方上的代碼,你將使用#if TEST.

如果你想在不同的環境中使用相同的構建,可以使用外部配置文件,但我個人更喜歡第一個解決方案,因爲你esplicitly說什麼建立結果你要。隨着配置很容易搞砸恕我直言。

0

一個WA y是檢查數據庫服務器的名稱。當然,這取決於服務器命名約定。因此,您可以將ConnectionString從web.config中取出,解析出DataSource並將其與您已知的生產框進行比較。

另一種方法是始終使用數據庫中的某個值來清理dev/qa框,以表明它不是生產框。

-1

System.Environment.MachineName

這會給你的名字,所以只要你知道不同的服務器的名稱這一建議立即進行刪除工作。

0

不要在每個環境中連接到不同的數據庫服務器嗎?如果沒有服務器,至少數據庫本身應該是不同的,有一個配置表的標誌URL,標題文本和其他ru.time設置,並始終建立相同的二進制文件。

我們這樣做,工作得很好。只有連接字符串在app.config中更改,但我們很少重新部署配置文件。

相關問題