【问题标题】:connection string in web configWeb 配置中的连接字符串
【发布时间】:2009-11-21 22:01:25
【问题描述】:

我在本地主机上创建了一个 Web 应用程序,并将其发布到不同的服务器上。

在此应用程序的 Web 配置中,我有 connectionstrings 属性,例如:

<connectionStrings>
<add name="MyConnectionString" connectionString="Data Source=XYZ-PC\SQLEXPRESS;Initial Catalog=SumooHServerDB;Integrated Security=True" providerName="System.Data.SqlClient"/>

现在连接字符串数据源具有我的服务器的名称,当我发布它并在不同的服务器上运行此应用程序时,我必须将 XYZ-PC\SQLEXPRESS 更改为服务器的名称..

有没有办法让我不必这样做,因为它感觉不对..

任何建议..

谢谢

【问题讨论】:

    标签: c# asp.net sql-server web-config connection-string


    【解决方案1】:

    如果实例名称相同,请尝试将 XYX-PC 替换为 localhost

    【讨论】:

    • 这个解决方案的一个缺点是您必须将 SQL 和应用程序 Web 应用程序托管在同一台服务器上,这在生产环境中很少见。这也意味着连接字符串的所有其他部分(不包括主机)在所有环境中都是相同的。如果我参考示例中给出的连接字符串,生产实例通常不是 SQLEXPRESS。
    【解决方案2】:

    如果数据库和 IIS 在同一台服务器上,你可以使用Data Source=localhost\sqlexpress

    【讨论】:

      【解决方案3】:

      我喜欢使用 configSource 将连接字符串提取到单独的文件中,如下所述*:http://stevenharman.net/blog/archive/2007/06/07/tip-put-connection-strings-in-their-own-configuration-file.aspx

      这样,您可以配置每个服务器的 connectionStrings.config 一次,但继续使用适用于所有服务器的单一版本更新其 web.config 文件。

      * 除了,我通常将其命名为connectionStrings.config,这样便于他人维护。

      【讨论】:

        【解决方案4】:

        以下文章可以解决您的问题: Handling Multiple Environment Configurations with .NET 2.0

        基本上,这个想法是利用这样一个事实,即在您的配置文件中,您可以指示某些部分必须从外部文件中读取。比在构建项目期间,您根据您的环境复制正确的外部文件。我认为该链接会更好地解释这一点。

        【讨论】:

          【解决方案5】:

          看看Web Deployment 项目。

          除了让您将所有内容合并到一个程序集中之外,它还让您可以选择进行基于节的 web.config 替换。我们在构建服务器上使用它来更改标准 web.config 以在测试环境中运行。作为奖励,您不仅限于更改连接字符串。 web.config 中的任何内容都是公平的游戏。

          【讨论】:

            【解决方案6】:

            使用这个连接字符串:

            name="MyConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SumooHServerDB;Integrated Security=True" providerName="System.Data.SqlClient"
            

            它会起作用的。

            【讨论】:

              猜你喜欢
              • 2013-04-06
              • 2012-12-31
              • 1970-01-01
              • 1970-01-01
              • 2012-12-31
              • 2021-04-12
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多