我不知道任何解決方案不會修改源代碼管理中的內容。但在這裏,你可以考慮可能在你的情況下工作的一些選項:
Global.asax
條件設置:
void Session_Start(object sender, EventArgs e)
{
if (HttpContext.Current.Server.MachineName == "JOE" ){
//my development machine
Application["mysetting"] = "myspecial setting";
}else{
// ...
}
}
多web.config
小號
有時候你有不同的web.config
S代表不同的服務器。管理每個設置可能會變成一場噩夢,所以關於堆棧溢出的問題(無法找到它!對不起)建議這樣做,其中合適的web.config.<setting>
被複制粘貼到主文件web.config
中。
Application/
web.config.devserver
web.config.joebrown
web.config.production
動態改變
您web.config
設置參見堆棧溢出後的更多詳細信息:asp.net managing multiple web.config files
public static string GetConnString()
{
string connString = ConfigurationSettings.AppSettings[GetConfigKey("database")];
return connString;
}
public static string GetConfigKey(string baseKey)
{
string str = baseKey;
if (Dns.GetHostName().StartsWith("dinoch"))
{
str = str + "-dev";
}
else if (Dns.GetHostName().StartsWith("prodsrvr"))
{
str = str + "-prod";
}
return str;
}
<configuration>
<appSettings>
<add key="database-dev" value="server=(local)\vsdotnet;database=ASPXAPPS;Integrated Security=SSPI" />
<add key="database-prod" value="server=(local)\vsdotnet;database=ASPXAPPS;Integrated Security=SSPI" />
</appSettings>
</configuration>
什麼過程模擬的元素? (這些東西只能在Web.config中進行) –
Mike