Changing CustomErrors In Web.config Semi-dynamically
May 24, 2010
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)?
This is a yellow page which is not user friendly and we didn't expect . I'm wondering setting customeError in webconfig doesn't support this type of address or not ? How can i prevent users seeing this yellow page . Edit : solution you mentioned are about configuring IIS ,But as i mentioned earlier , my site has been published on shared hosting provider . I don't have those access at IIS , What should i do at this situation ?
I am having an issue where if I change my url to .asp from .aspx i get a 404 error but it is not handled by my custom errors. If I change the url to def23947823h.aspx it is caught and redirects to correct page.
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
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.
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!
Now i am developing web application, i wanted to be like a CMS but not with all the bells and whistles of a fully blown CMS system. To explain the idea, it is a classifieds ads site were users can log on and add their own ads or browse other users' ads. What i want to be able to do is to have full control on the application without having to write any line of code. I mean, after the application is launched, i want to be able to add / delete ad categories, change dynamic content on the site (like banners, polls and so on).
I managed to create a control panel for myself where i can edit and manage the ad categories (after all it's a data repeater bound to a database and rendering to an ul list containing the categories). My question now is: i am using Master / child pages design, I have some content that's on the Master page and other on the child pages (by content i mean those plugins that are frequently found on websites like polls, news tickers, stocks...etc). Using the Master / Chile paradigm: how can i control the visibilty of those controls through my control panel?
add labels for those controls and control their content from the backend database together with a boolen indicating their visibility. But the problem is that: how can i determine which page is serving this content currently. Like for example, a news ticker on the addad.aspx child page but not on viewads.aspx child page.
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?
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 just completed my first mobile website. It works beautifully with an iPhone, and ALMOST does likewise on a Droid. That "almost" is an ultra-frustrating bug that I'm afraid is hardware-based and will not permit a software solution. Allow me to state my hypothesis: "When you perform a software redirect to another page on your website, you cannot return to a functional version of the page you were on when the redirect was launched via Droid's hardware backbutton. You'll have the graphics, but the code behind the form will be gone and it will be nonfunctional. The ONLY functional route back from a redirect to the originating page on a Droid is via software switching.
I've experimented endlessly with redirect option parameters, page cache settings and the pagestatepersister class in Visual Studio. Nothing works. And I HAVE to use the redirect method to open the second page, because I have to derive some complex information before I'm ready for it to open -- onclientclick and navigateURL aren't options. This is NOT an issue with an iPhone ... its backbutton always returns from a redirect to a still-functioning originating page. Is my hypothesis correct, or does somebody know some workaround that will enable me to offer iPhone functionality to Droid users? If I could open a new window after processing data, that would solve my problem (Droid does return properly from a new window), but there's no way that you can call Java's window.open command from VB code, and no VB equivalent.
My web.config is set up so that I don't have to change anything between deploy from UAT and Production. I can determine what machine it is running on and then programatically pick the correct connection string etc from the web.config based on the name.
Now we are adding a call to a web service which now causes us to have to make a change at deploy time. We set a "Region" flag in the web.config and then in coded an IF statement to call the appropriate webservice based on the flag so all we'd have to change is the "T" to a "P" when moving to production. But then hardcoding a web service in the application is not what we want to do. Nor do we want to change the web service address in the web.config.
Is there any way we can do something like the following to be able to not have to change the web.config at deploy?
It would be something like:
1. Grab current Machine name
2. Look in web.config for corresponding machine name web service reference (like we do for connection strings etc)
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?
if there is a way to dynamically change the session ID from the context of a SessionStateStoreProvider (or some other customizable module) in C# for ASP.NET.
I am implementing a custom SessionStateStoreProvider, and I was thinking about augmenting the session ID to tell the store provider where to go look for a session. I've implemented a custom SessionIDManager, which lets me augment newly created session IDs with the required tag. The problem is that the desired value of that tag might change during the life of a session. For example, the session may be read from one location, but may need to written to a different location. In this instance the ID would have originally been tagged for location A, but on writing the store would want to write to location B. The tag should be updated to reflect location B for the next session read.
So, from the context of SessionStateProviderBase override...
... is it possible to change the session ID? I know that the HttpContext.Session.SessionID property is not settable. Is there some other way to feedback an update like this? Or is there a more appropriate to carry state like this across calls?
this may or may not be a big deal but what I am looking to do is based on some data returned to my view I want to change the background-color to what value is being returned. Black, Yellow, etc.... How can I in my aspx page set my Style background-color based on this value in the model. I know Attributes are used in Web forms control but not sure in MVC how to do this
I haven't had any luck finding the answer yet. My problem is that I want to be able to update the dataformatstring on a gridview column at runtime. For example, I switch from displaying # of units to cost of said units... and I want to change the format of the column to {0:c}. It seems like it should be a simple task.
You fetch the user's IP address and based on his/her country you redirect the user to a specific webpage. Now, how do you change the master page dynamically? This is how I am redirecting the user :-
Geolocation Error with IP Address 127.0.0.1
It's not like the user clicks some button or something and you then change the master page. I want it changed when the user is redirected, so how exactly do I go about it?
public partial class testClass: System.Web.UI.MasterPage { protected void Page_Load(object sender, EventArgs e) { if (redirected to site1) { Use this master page1 } else if (redirected to site2) { Use this master page2 } } }
So how do I check what SITE the user has been redirected to? Also HOW to apply the specific master page now that the user has been redirected?
I just need an idea how to go about it.
[EDIT] please check the code block below. How do I fetch the URL that the user has been redirected to? I actually need just the "iso3166TwoLetterCode" variable's value (see the link to my earlier question, please) and based on that will be changing the master page. I can't figure out how to fetch that value or even use that class (that's got this variable) in my testClass.
protected void Page_PreInit(object sender, EventArgs e) { if (user Has been redirected to www.site.in ) { this.MasterPageFile = "master1.master"; } if (user Has been redirected to www.site.fr ) { this.MasterPageFile = "master2.master"; } }
I am working for a project on disaster management sponsered by World Bank, under this project i have assigned work on CMS. and my senior has asked me to make a ASP.NET webpage where those logged with administrator privilege will be able to edit the page.
now if if the admin clicks on mydiv he should be able to edit the pre contents.
for this i got many options such as WYSIWYG editors (but they work on textboxs only and further more they cant save the data back to server replacing the previous content) then I came to know about Webparts , but its editing capabilities was so low that my plan for implementing a WYSIWYG editor went in vain.
We have a database with around 5000 records in it. We also have a web page that displays many of the fields. One field is an nText field and displays up to several paragraphs. My customer wants me to add those A+ and A- buttons for increasing and decreasing the font size for this field. My problem is that many of the older records have quite a bit of formatting in the field. Most of the rest contain styles dictating a font size of 12 px. Is there a way to increase and decrease the font soze of the text without modifying all the records?
I created this master page file and in its Page_PreInit added the code to change master page at run time after detecing a visitor's country:-
Now, while researching I came across this thread that says "Setting the master page in Page_PreInit event is against the design and spirit of MVC..what is this supposed to mean ???
If not this way, how else am I supposed to change master pages at run time???