Hello. What I'm trying to do should be fairly simple, but after an hour of searching and trials, I can't seem to get it working.
When I run my website on my test machine, I would like it to use a certain value for my connectionString. But when it's run on the live server, it should use a different connection string. This way, when it's on the test server it'll use the test database.
In my Web.Config file, I have this:
<connectionStrings>
<add name="myConnectionString" connectionString="Data Source=TEST_DB;Initial Catalog=tester;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
I would like to be able to change the connectionString in something like the Global.asax file, when the application is loaded. I'd check for a certain environment variable, or some other condition, and change the value of the connectionString.
I tried this in my Global.asax, but it told me the value was read_only:
ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString = "Data Source=LIVE_DB;Initial Catalog=live;Integrated Security=True"
Does anyone have a good way of doing this, so I don't need to juggle Web.Config files when I publish my site?
Thanks.
You can have a separate app.config file for production or have a separate configuration section so that when you build the application (deploy), Visual Studio will replace the connection strings
Take a look at this post (http://msdn2.microsoft.com/en-us/library/bb164473(VS.80).aspx)
|||After a more varied search, I came across the Web Deployment Projects tools.
http://msdn2.microsoft.com/en-us/asp.net/Aa336619.aspx
Now I've got it simply including a different piece of config code when it builds the website in either Debug or Release mode.
Thanks for the reply, though. I'm all set now.
No comments:
Post a Comment