How do I use Web.Config transform on my connection strings?

落花浮王杯 提交于 2019-12-17 06:12:19

问题


In my current project, I have some connection strings that are valid for local development machines:

<configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="Data Source=localhost;Initial Catalog=MyDB;Integrated Security=SSPI"
  </connectionStrings>
....
</configuration>

How would I use the Web.Config transforms to convert from this expression to one valid for our production server? The production server one would look something like:

<configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword"
  </connectionStrings>
....
</configuration>

The syntax isn't obvious to me, and I'm completely failing at grokking the page on it.


回答1:


This works for me but I too have found it to be a bit flakey at times. You will need to create another file called Web.Config.Release and fill it with the following:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <connectionStrings>
    <add name="local" connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword" 
    xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </connectionStrings>

  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />

  </system.web>
    <appSettings>
        <add key="default_db_connection" value="local" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
    </appSettings>
</configuration>



回答2:


You shouldn't need to create a new file, it should be in the Solution Explorer, expand Web.config, and open Web.Release.config.

Scott Allan has a good video on it here (under Configuration and Deployment > Config Transformations).



来源:https://stackoverflow.com/questions/8366091/how-do-i-use-web-config-transform-on-my-connection-strings

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!