Web.config: Changing An Application Setting With C#?
Oct 29, 2010
How can I change an application setting within a web.copnfig programmatically with C# (from another application, which configures the web-application)?
The following code snipped doesn't work, because AppSettings[...] is readonly!
I'm working on different windows machines and virtual windows machines on a mac. I have a project wich uses SQL server and AD for autentication.
Right now I have to be connected to VPN so that the asp.net web application can connect to AD using LDAP string to autentivate users, I also have the SQL server on the other side of the VPN connection.
Is there any way to setup my enviroment so that I can work locally without the AD, and on a local SQL server and be able to publish the project without manually changing the web.config file?
I need to change the database connection string in the web.config file but havent got a clue how to go about this. Does anyone have any experience with that?
UPDATE Sorry, not very clear above, I want to be able to change a connection string from the web application after it has been deployed
We had a UAT and Production version of a .NET web application. UAT was taking around 5 seconds to run a particular operation while Prod was taking 35+ seconds.
This even happened when pointing both web applications at the same database and putting them both on the same machine.
The culprit was finally found to be the following entry, which was in the Prod but not UAT web.config
<trust level="High" originUrl="" />
why this would cause such a significant performance degradation??
When I open my ASP.NET site in IIS and try to open the .NET Trust Levels, I get an error message:
.NET Trust Levels There was an error while performing this operation.
Details: Filename: ?C:inetpubwwwrootmyappweb.config Line number: 445
Error: This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"),or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".
I've checked a few places, but I haven't found anything that seems like it would be locking that setting. Is there a systematic way of determining where that setting is locked?
I am running into a problem with a web.config in a child project that has the same connection string setting as a parent. We have this in several of our web apps but there is one case where we want a child not to use the parent web.config. Is there a setting or command in the child web.config to ignore the parent web.config?
I have an ASP.NET application running under IIS. I'd like to be able to change one of the web.config values in Application Settings. I know it's possible to change it programmatically as described in this answer but I'm wondering if the same thing can be accomplished from the command line.
The IIS 7 Manager allows application settings and connection strings (among other options) to be changed. My hope is there is a way to do the same via the command line for IIS 6 and/or 7.
Is it possible to change the url that the web service is using in the app.config file once the windows application is running? Example a user changes the index of a drop down that will change the URL of the web service?
What I'm trying to accomplish is having a drop down that will let the user select between using the web service on our dev system versus the live system.
I am developing web applicaiton. I want to read web.config in App.config file. I have appSettings and connectionStrings in web.config. How to read that?
we were all recently alerted by scottgu with this security vulnerability. [URL] I'm wondering, since I've been redirecting errors via Global.asax on the Application_Error event, I was wondering if that can suffice the fix for this issue or do I still need to place a setting on the web.config?
I have a framework 2.0 asp.net website, I want to change it's framework version to 3.5. Is it possible to do this manually from web.config file? I don't want to change from visual studio property pages. I need to change from web.config, what should I do?
The basic idea is we have a test enviroment which mimics Production so customErrors="RemoteOnly". We just built a test harness that runs against the Test enviroment and detects breaks. We would like it to be able to pull back the detailed error. But we don't want to turn customErrors="On" because then it doesn't mimic Production.
I've looked around and thought a lot, and everything I've come up with isn't possible. Am I wrong about any of these points?
We can't turn customErrors on at runtime because when you call configuration.Save() - it writes the web.config to disk and now it's Off for every request.We can't symlink the files into a new top level directory with it's own web.config because we're on windows and subversion on windows doesn't do symlinks. We can't use URL-Mapping to make an empty folder dir2 with its own web.config and make the files in dir1 appear to be in dir2 - the web.config doesn't apply. We can't copy all the aspx files into dir2 with it's own web.config because none of the links would be consistent and it's a horrible hacky solution. We can't change customErrors in web.config based on hostname (e.g. add another dns entry to the test server) because it's not possible/supported. We can't do any virtual directory shenanigans to make it work.
If I'm not, is there a way to accomplish what I'm trying to do? Turn on customErrors site-wide under certain circumstances (dns name or even a querystring value)?
Is it ok to change the config file after publishing a site? I use shared hosting. It would be nice to do things like change connection strings and smtp settings with out having to republish the site.
I have one requirement that i have to place the log file in the same directory of solution. That is my solution is placed in [drive]workProject1solution file. But i have to create my log file to [drive]workProject1Loglog.log. How it can be set in app.config file.
This might sound a bit dumb. I always had this impression that web.config should store all settings which are suspect to change post-build and setting.settings should have the one which may change pre-build.but I have seen projects which had like connection string in setting.settings. Connection Strings should always been in web.config, shouldnt it?I am interested in a design perspective answer.Just a bit of background:My current scenario is that I am developing a web application with all the three tiers abstracted in three separate visual studio projects thus every tier has its own .settings and .config file.
I'm using a flash app to upload images (EAFlashUpload - http://www.easyalgo.com/eaflashupload.aspx) which works great, but there's a problem.For reasons beyond my understanding, if a theme (page theme = "white") is declared in the web.config, it doesn't work correctly; even if there is nothing in the theme folder at all! Oddly though, it's happy if the theme is set at the page level. Problem is, I don't want to have to hard code the page theme into every page. Is there another place I can set the page theme? I've tried in the code behind of the master page (pre_int), and also adding a web user control with some code behind to the master page.
I have a Silverlight control that is hosted within an ASP.NET application. The Silverlight control has a web service reference. The URL of this service is going to vary when we install the application for our customers. I need a way to be able to change this web service reference URL from within the web.config of the ASP.NET application. How can I do this?
I did a couple google searches about this and am not finding anything, so I thought I'd ask here. I'm working on our internal CMS and I noticed that we're getting live data back when doing debugging because of our web services instead of the dev data that I wanted. It doesn't do this on our dev CMS website, but we're trying to do all our development on localhost. Is there any way to set up an environment variable in our web config for the URL so that the CMS points to the dev database instead of live database that is referenced in the wsdl files?
I'm having some trouble setting the ExecutionTimeout element in my applications web.config. My page is making a lengthy webservice call and times out after 110 seconds. (the default I believe). I set the value to 220, and make sure the compilation debug=false.
Does the compilation setting refer to when IIS/ASP.net compiles the ASPX pages when a client requests them, or does it refer to the visual studio compile process there the assemblies are created. Would using an assembly built using debug in visual studio still allow the above settings to work?
A client is unable to use my webpart because he is behind a proxy server and they need to specify a username and password to get past the proxy. I have this in my config file right now: