如何在Debug和Release模式下的WPF和DataSet中使用各种连接字符串?

升压

我有很多使用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”连接字符串。

当我在DebugRelease模式之间切换时,我真的很害怕更改连接字符串的所有代码行

是否有一种简单的方法可以DataSetDebugRelease模式之间更改程序和程序中的连接字符串,无需修改代码?

马修·沃森(Matthew Watson)

怎么样使用#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,则只有一个地方需要连接字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++中使用hash_map作为字符串键和int值

来自分类Dev

如何连接CComBSTR和字符串?

来自分类Dev

如何在Google查询语言中使用子字符串和charindex

来自分类Dev

如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

来自分类Dev

如何连接字符串和整数

来自分类Dev

如何连接字符串和wstring?

来自分类Dev

如何在python中使用特殊字符填充和对齐unicode字符串?

来自分类Dev

如何在Python中使用大数据集查找和替换字符串

来自分类Dev

如何在液体json转换中使用foreach和追加字符串

来自分类Dev

如何使用QT和CMake在Debug模式下启用控制台窗口并在Release模式下禁用?

来自分类Dev

如何使用go模板连接变量和字符串

来自分类Dev

如何在xslt中拆分和连接字符串

来自分类Dev

如何在不使用命令Sed的情况下查找和替换字符串?

来自分类Dev

如何在C#中使用Contains和Linq方法在字符串中搜索数字?

来自分类Dev

如何在JavaScript中连接变量和字符串?

来自分类Dev

如何连接CComBSTR和字符串?

来自分类Dev

如何连接字符串和表列?

来自分类Dev

如何在不使用临时字符串和C lib的情况下反转字符串?

来自分类Dev

如何在文件中的相同模式下的各种字符串中添加双引号

来自分类Dev

如何在Java中使用自定义注释传递字符串和对象

来自分类Dev

如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

来自分类Dev

如何在Java中使用Scanner,while和for循环递增字符串名称

来自分类Dev

如何在python中使用索引循环和读取文件,特定的整数或字符串?

来自分类Dev

如何在连接字符串中使用变量?

来自分类Dev

如何在javascript中使用split函数和RegEx按长度分割字符串?

来自分类Dev

如何在PHP中使用开始和结束字符获取字符串的子字符串?

来自分类Dev

如何在字符串中使用 contains() 和 retain()?

来自分类Dev

如何在 C# 中使用字符串键和值创建字符串多维数组?

来自分类Dev

如何在javascript中使用Regex捕获开始和结束某种字符串的字符串

Related 相关文章

  1. 1

    如何在C ++中使用hash_map作为字符串键和int值

  2. 2

    如何连接CComBSTR和字符串?

  3. 3

    如何在Google查询语言中使用子字符串和charindex

  4. 4

    如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

  5. 5

    如何连接字符串和整数

  6. 6

    如何连接字符串和wstring?

  7. 7

    如何在python中使用特殊字符填充和对齐unicode字符串?

  8. 8

    如何在Python中使用大数据集查找和替换字符串

  9. 9

    如何在液体json转换中使用foreach和追加字符串

  10. 10

    如何使用QT和CMake在Debug模式下启用控制台窗口并在Release模式下禁用?

  11. 11

    如何使用go模板连接变量和字符串

  12. 12

    如何在xslt中拆分和连接字符串

  13. 13

    如何在不使用命令Sed的情况下查找和替换字符串?

  14. 14

    如何在C#中使用Contains和Linq方法在字符串中搜索数字?

  15. 15

    如何在JavaScript中连接变量和字符串?

  16. 16

    如何连接CComBSTR和字符串?

  17. 17

    如何连接字符串和表列?

  18. 18

    如何在不使用临时字符串和C lib的情况下反转字符串?

  19. 19

    如何在文件中的相同模式下的各种字符串中添加双引号

  20. 20

    如何在Java中使用自定义注释传递字符串和对象

  21. 21

    如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

  22. 22

    如何在Java中使用Scanner,while和for循环递增字符串名称

  23. 23

    如何在python中使用索引循环和读取文件,特定的整数或字符串?

  24. 24

    如何在连接字符串中使用变量?

  25. 25

    如何在javascript中使用split函数和RegEx按长度分割字符串?

  26. 26

    如何在PHP中使用开始和结束字符获取字符串的子字符串?

  27. 27

    如何在字符串中使用 contains() 和 retain()?

  28. 28

    如何在 C# 中使用字符串键和值创建字符串多维数组?

  29. 29

    如何在javascript中使用Regex捕获开始和结束某种字符串的字符串

热门标签

归档