[英]How can I have WPF use one window style for Debug mode and another for Release mode?
[英]How to use various connection strings in WPF and DataSet in Debug and Release mode?
我有很多使用WPF和DataSet編寫的CRUD應用程序
我的連接字符串是:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="Depboard.Properties.Settings.DepartmentConnectionString"
connectionString="ReleaseServer" providerName="System.Data.SqlClient" />
<add name="Debug"
connectionString="DebugServer" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
這些應用程序具有許多行代碼:
private static string ConnStr = ConfigurationManager.ConnectionStrings["ReleaseServer"].
ConnectionString;
此外,默認情況下, DataSet
使用“ ReleaseServer”連接字符串。
當我在Debug
和Release
模式之間切換時,我真的很害怕更改連接字符串的所有代碼行。
有一個簡單的方法來更改連接字符串中DataSet
和程序之間的Debug
和Release
模式,而無需修改代碼?
使用#if DEBUG
怎么樣?
創建一個靜態類,將用於獲取服務器名稱:
public static class ServerName
{
#if DEBUG
const string SERVER = "DebugServer";
#else
const string SERVER = "ReleaseServer";
#endif
public static string Name => SERVER;
}
然后在初始化連接字符串時使用它:
private static string ConnStr = ConfigurationManager.ConnectionStrings[ServerName.Name].ConnectionString;
但是,我認為這是一個骯臟的解決方法。
應用程序實際上應該使用依賴項注入以及可能的依賴項容器,以及諸如存儲庫模式之類的模式,以將所有初始化代碼都放在一個位置(在適當的“接縫處”)。 如果正確使用DI,則只有一個地方需要連接字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.