C# WPF,What';存储启动时使用的常量的最佳方法是什么?

C# WPF,What';存储启动时使用的常量的最佳方法是什么?,c#,wpf,C#,Wpf,我有一个访问数据库实例的WPF应用程序。我在我的个人计算机上开发,应用程序将在另一台计算机和数据库实例上运行。是否有一种在WPF应用程序外部存储实例名称的方法或最佳实践,我可以在应用程序启动时读取?当前,当我从一台机器移动到另一台机器时,我对数据库实例名称进行了注释和取消注释。我想在本地机器上存储一些东西,以便在应用程序启动时读取 以下是我目前的工作: try { if (sqlConn != null) {

我有一个访问数据库实例的WPF应用程序。我在我的个人计算机上开发,应用程序将在另一台计算机和数据库实例上运行。是否有一种在WPF应用程序外部存储实例名称的方法或最佳实践,我可以在应用程序启动时读取?当前,当我从一台机器移动到另一台机器时,我对数据库实例名称进行了注释和取消注释。我想在本地机器上存储一些东西,以便在应用程序启动时读取

以下是我目前的工作:

try
        {
            if (sqlConn != null)
            {
                sqlConn.Close();
            }

            strConnection = "Data Source=" + strDBInstance + "; Initial Catalog=NBFoodPantry;Integrated Security=true; MultipleActiveResultSets = True";
            //strConnection = "Data Source=CASS-LAPTOP\\SQLEXPRESS; Initial Catalog=NBFoodPantry;Integrated Security=true; MultipleActiveResultSets = True";
            //strConnection = "Data Source=KENTS-WORK-PC\\CASS_SQLEXPRESS; Initial Catalog=NBFoodPantry;Integrated Security=true; MultipleActiveResultSets = True";

            sqlConn = new SqlConnection(@strConnection);
            try
            {
                sqlConn.Open();
            }
            catch (Exception ex)
            {
                string strMsg;

                WriteErrorLog(strErrorLogFile, "ConnectToDatabase", ex.Message, false);
                strMsg = "ConnectToDatabase: SQL Open failed.  Please make sure that you database ";
                strMsg += "instance and name are correct.  Also make sure that the SQL engine is running.";
                System.Windows.MessageBox.Show(strMsg);
            }
        }
        catch (Exception ex)
        {
            string strMsg;

            WriteErrorLog(strErrorLogFile, "ConnectToDatabase", ex.Message, false);
            strMsg = " ConnectToDatabase: failed with error, " + ex.Message + ".";
            System.Windows.MessageBox.Show(strMsg);
        }

这就是应用程序设置的设计目的。在项目的“属性”节点下,打开设置。这内置了对连接字符串的支持:

然后,您可以通过其名称访问代码中的设置:

Properties.Settings.Default.ConnectionString

所有这些都存储在App.config中,您可以在不同的计算机上修改它以获得不同的值。

您可以在应用程序中创建静态只读字段。但接下来的问题是,你们将如何从一台机器到另一台机器进行通信。编辑:如果只需要使用常量来加载数据库的连接名称,可以将其存储在web.config中,或者从任何API加载。但这并不是最好的方法。你应该在MSDN上发布你努力的SNIP代码。DB连接字符串应该是应用程序设置(在App.config中,而不是Web.config中)。35; Clemens和#John Koemer——这正是我需要的。谢谢。@Cass您可能还想使用此工具查看调试/发布或其他转换