Monday, March 26, 2012

Web.Config problem not reading customErrors setting

The following settings are in a Web.Config file in the root of the site, and there are no other Web.Config files in the entire site. The page being requested is /TellAFriend/TellAFriend.aspx. When it is called I get the Server Error In "/" Application message instructing me how to turn customErrors off, and there error is NOT displayed, yet in the Web.Config file, the setting is set to "Off":

=== BEGIN Web.Config CONTENTS BELOW ===
<?xml version="1.0" encoding="utf-8" ?>
<configuration
<appSettings>
<add key="tellafriend_SMTPServer" value="mail.abcdomain.com" />
<add key="tellafriend_HTTPPrefix" value="http://www.abcdomain.com" />
</appSettings
<system.web
<!-- DYNAMIC DEBUG COMPILATION
Set compilation debug="true" to insert debugging symbols (.pdb information)
into the compiled page. Because this creates a larger file that executes
more slowly, you should set this value to true only when debugging and to
false at all other times. For more information, refer to the documentation about
debugging ASP.NET files.
-->
<compilation defaultLanguage="vb" debug="true" /
<!-- CUSTOM ERROR MESSAGES
Set customErrors mode="On" or "RemoteOnly" to enable custom error messages, "Off" to disable.
Add <error> tags for each of the errors you want to handle.
-->
<customErrors mode="Off" /
<!-- AUTHENTICATION
This section sets the authentication policies of the application. Possible modes are "Windows",
"Forms", "Passport" and "None"
-->
<authentication mode="Windows" /
<!-- AUTHORIZATION
This section sets the authorization policies of the application. You can allow or deny access
to application resources by user or role. Wildcards: "*" mean everyone, "?" means anonymous
(unauthenticated) users.
-->
<authorization>
<allow users="*" /> <!-- Allow all users --
<!-- <allow users="[comma separated list of users]"
roles="[comma separated list of roles]"/>
<deny users="[comma separated list of users]"
roles="[comma separated list of roles]"/>
-->
</authorization
<!-- APPLICATION-LEVEL TRACE LOGGING
Application-level tracing enables trace log output for every page within an application.
Set trace enabled="true" to enable application trace logging. If pageOutput="true", the
trace information will be displayed at the bottom of each page. Otherwise, you can view the
application trace log by browsing the "trace.axd" page from your web application
root.
-->
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" /
<!-- SESSION STATE SETTINGS
By default ASP.NET uses cookies to identify which requests belong to a particular session.
If cookies are not available, a session can be tracked by adding a session identifier to the URL.
To disable cookies, set sessionState cookieless="true".
-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="false"
timeout="20"
/
<!-- GLOBALIZATION
This section sets the globalization settings of the application.
-->
<globalization requestEncoding="utf-8" responseEncoding="utf-8" /
</system.web
</configuration>
=== END Web.Config CONTENTS ABOVE ===

Any help would be appreciated.. Thanks!First, can you debug the code with the given web.config? If not, it means there is a syntax error in the config file.

Second, check the machine.config to make sure the value is not overriden there with a NoOverride setting.
I did not develop the project on the web server that is experiencing this problem. It was developed on my development server and simply copied over to production web server when the project was completed. It has been working for a few weeks now without a hitch, and all of a sudden today it has stopped working. I know it was previously reading the Web.Config file also due to the app working properly and reading appSettings from that file.

I am going to be emailing the hosting company to see if they have turned off showing error remotely using machine.config.

How would I debug the code without the project residing on the web server?
Well, if you debugged locally and then copied everything over exactly the same, it shouldn't matter. I just wanted to rule out a web.config error.
Yes -- I have copied the Web.Config to my local dev server and ran the app without any problems. Waiting on a response from the hosting company now. Thank you for your help.

0 comments:

Post a Comment