Chris Hammond wrote:
Are you getting any specific error messages? See below the timeline of last occurence.
When you say copying down the erratic web.config and the correct web.config, where is the "correct" config coming from? I have two versions of the web.config file locally - one OK (working that is most of the time, but possibly giving me this headache..) and one I know is erratic. See below in the timeline when applied the two. So, just to try something a week ago, I copied the erratic down, got an error message trying to hit the website, then copying down the one that is supposed to be OK, got my site up again.
Do you have the Event Log buffer enabled? Yes. See below. No error messages for the downtime.
When you get the under construction page, try going to /install/install.aspx and see if it throws a detailed error message. I would image it has something to do with connect pools on your SQL server, but without an error message it's hard to tell. I tried this, see below for result.
Hi Chris, and thank you for trying to help me out!!
Here is the history line for the last occurence tonight:
*** I got the ”under construction” page again
*** Tried your suggestion hitting the install/install.aspx- page with the following result:
Error Installing DotNetNuke
Current Assembly Version: 5.6.2
ERROR: Could not connect to database specified in connectionString for SqlDataProvider
*** I now checked that the database was up with Microsoft SQL Server Management Express, and there was no problem connecting directly to the database (I also checked the Event log table, but there was no entry after 20:14:06, after which the downtime probably started).
*** Thus tried ”my trick”: copying down the erratic web.config-file, hit the site with my browser, and got the same error-message as before when I have tried this:
Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
*** Copied then the correct web.config file to the server (which usually gets my site up and running again)
*** But this time I got some new error messages not encountered the last times I have tried ”my solution”. I add them here just for your info:
DotNetNuke Error
An error has occurred.
An error has occurred.
Return to Site
*** Tried your suggestion again, htting install/install.aspx
This only gave a blank page
*** Tried hitting the site again gave the following timeout response (it stood working for a while, so this is understandable):
SQL Exception
Error Details
File
Error Index #: 0
Source: .Net SqlClient Data Provider
Class: 11
Number: -2
Procedure:
Message: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error) at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket() at System.Data.SqlClient.TdsParserStateObject.ReadBuffer() at System.Data.SqlClient.TdsParserStateObject.ReadByte() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Services.Log.EventLog.DBLoggingProvider.Data.SqlDataProvider.AddLog(String LogGUID, String LogTypeKey, Int32 LogUserID, String LogUserName, Int32 LogPortalID, String LogPortalName, DateTime LogCreateDate, String LogServerName, String LogProperties, Int32 LogConfigID) at DotNetNuke.Services.Log.EventLog.DBLoggingProvider.DBLoggingProvider.WriteLog(LogQueueItem objLogQueueItem)
*** Then I hit the site again, and got the site up, OK. (Again, this is what usually happens straight after copying down the correct web.config file).
*** Here is the Event-log for the period in question:
06.06.2011 21:26:35 Application Started ...
06.06.2011 21:26:20 Login - Superuser xxxx sitename.yy IP: 79.160.101.94; ...
06.06.2011 21:26:04 Login Success yyyyy sitename.yy IP: 80.202.32.85; ...
06.06.2011 21:25:32 Application Started ...
06.06.2011 21:24:21 Module Load Exception ModuleId: -1; ModuleDefId: -1; FriendlyName: ...
06.06.2011 20:14:21 Application Started ...
06.06.2011 20:14:06 Login - Superuser xxxxx sitename.yy IP: 79.160.101.94; ...
*** No Event-log messages in the downtime timelapse between 20:14 and 21:25.
Everything is fine no, but I only wait for the next downtime, and having to fix this again. Any suggestions?