2017-06-21 92 views
-2

我在ASP.NET和C#中真的很新,所以請耐心等待。我的機器上的開發環境

我開發了一個應用程序。我可以完全訪問生產數據庫。

由於現在我只使用我的表格,但現在我需要使用生產數據的表格。

我創建了一個新的數據庫,並在Web.config文件中添加了一個新的連接字符串。

所以生產的連接字符串名稱是:

Prod: myconnectiond 
Dev: devconnection 

我的目標是當我開發使用devconnection。

我已經把它該到我的數據庫連接方法:

if (Environment.MachineName.ToLower() == "mymachine" && connectionName == "myconnection") { 
    connectionName = "devconnection"; 
} 

它是一個很好的做法,還是存在比較好?

+0

如何將軟件發佈到生產環境? – spender

+0

它適合你嗎?那很好。 – mason

+0

@spender這就是爲什麼我問,因爲我不知道。我是我公司的新手,現在我正在學習C#和ASP.NET。那些現在不在這裏的人,但我想現在就工作。 – vaso123

回答

0

我會推薦在你的代碼中使用#IF預處理器,基本上它會像這樣工作。

string ConnectionName = string.Empty; 
#if DEBUG 
ConnectionName = "devconnection"; 
#elif RELEASE 
ConnectionName = "myconnectiond"; 
#endif 

這是什麼會做的是當你有你的構建配置設置爲調試(或開發),它會編譯代碼,就好像它是這樣的:

string ConnectionName = string.Empty; 
ConnectionName = "devconnection"; 

而當你把它設置爲它釋放將編譯如下:

string ConnectionName = string.Empty; 
ConnectionName = "myconnectiond"; 

所有您無需更改除構建配置的任何其他。

你可以在這裏找到更多的信息:#if (C# Reference)

+0

這是一個很好的解決方案。問題在於,Web配置僅用於構建,而不是在開發時。 – vaso123

2

在Visual Studio的最新的版本,可以根據構建的配置來改變你的web.config配置。

當創建一個web.config,你會看到兩個文件:

  • Web.Debug.Config
  • Web.Release.Config

更改連接字符串在調試配置文件中指向開發數據庫並釋放配置到生產數據庫。

+0

什麼是不明確的,如果我將它放在調試,然後推送給GIT,PM部署它會發生什麼?難道不是在這種情況下無意中使用了開發數據庫? – vaso123

+0

就你的情況而言,當PM部署時它將使用Production db。 –