We've recently inherited an Umbraco project close to the delivary date from a .net development house who claim to specialise in Umbraco builds. Unfortunately they missed out much of the configuration we specified with regards to handling the session state across the two load balanced webservers, and we've been forced to perform extensive testing and additional configurations to get it to a position where it's almost ready for launch.
Whilst we have got the session state working well between nodes now by adding the session state connection string and specifying some consistant machine keys, we've hit a serious problem in the back end.
Issue
When one navigates to the 'Home' node in the content tree, the following error is thrown:
Server Error in '/' Application. Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Followed by the stack trace.
Now since the error isn't been thrown elsewhere in the CMS, only on that one node, so we think the issue is either bad data or some custom classes they've added to extend this page which are serialising the content incorrectly so that it breaks the state server functionality.
Troubleshooting
I'm looking for some advice:
* If it's bad data, how can I eliminate this issue? As it's broken I can't remove the content via the CMS and I'm new to the Umbraco database structures. I found the xml for the node in the cmsContentXml table and tried blanking it, without luck. It's likely a completely different kind of object causing the issue if it's content. What's the best way to track down suspect content?
* If it's code, what are the best ways I can add debugging code to say the /umbraco/default.aspx (or relevant inherited code behind or files) in order to capture the non-serialized object causing my problem, allowing us to rewrite the code correctly? Unfortunately the possibility exists that the core has been extended with custom files from the 3rd party agency, but we need to track these down if so.
* Is there any other troubleshooting approach we can apply to debug this issue? Time is very critical as we should be a week and a half from launch.
Our .net developers are working their way through the code but are unfamilar with Umbraco, and of course even less so with the customisations we've encountered.
Environment
The application and environment configuration is unfortunately rather custom. It's Umbraco 4.5.2 modified to run under .net 3.5 (required for production environment).
Our staging environment is two webserver nodes behind an Amazon EC2 load balancer with no session stickyness (as per production) and an ASPstate database for session handling which is otherwise working. Content is replicated via windows DFS and the Umbraco distributed call which appears to be working correctly everywhere.
It would be greately appreciated if someone could help us get unstuck on this one issue, as it should hopefully be our final critical issue before go live!
We're also putting out feelers for heavyweight Umbraco and .net devs to get us out of this jam so a commercial engagement is also a possibility.
Troubleshooting non-serialized object in Umbraco
Hi Everyone
Background
We've recently inherited an Umbraco project close to the delivary date from a .net development house who claim to specialise in Umbraco builds. Unfortunately they missed out much of the configuration we specified with regards to handling the session state across the two load balanced webservers, and we've been forced to perform extensive testing and additional configurations to get it to a position where it's almost ready for launch.
Whilst we have got the session state working well between nodes now by adding the session state connection string and specifying some consistant machine keys, we've hit a serious problem in the back end.
Issue
When one navigates to the 'Home' node in the content tree, the following error is thrown:
Server Error in '/' Application.
Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Followed by the stack trace.
Now since the error isn't been thrown elsewhere in the CMS, only on that one node, so we think the issue is either bad data or some custom classes they've added to extend this page which are serialising the content incorrectly so that it breaks the state server functionality.
Troubleshooting
I'm looking for some advice:
* If it's bad data, how can I eliminate this issue? As it's broken I can't remove the content via the CMS and I'm new to the Umbraco database structures. I found the xml for the node in the cmsContentXml table and tried blanking it, without luck. It's likely a completely different kind of object causing the issue if it's content. What's the best way to track down suspect content?
* If it's code, what are the best ways I can add debugging code to say the /umbraco/default.aspx (or relevant inherited code behind or files) in order to capture the non-serialized object causing my problem, allowing us to rewrite the code correctly? Unfortunately the possibility exists that the core has been extended with custom files from the 3rd party agency, but we need to track these down if so.
* Is there any other troubleshooting approach we can apply to debug this issue? Time is very critical as we should be a week and a half from launch.
Our .net developers are working their way through the code but are unfamilar with Umbraco, and of course even less so with the customisations we've encountered.
Environment
The application and environment configuration is unfortunately rather custom. It's Umbraco 4.5.2 modified to run under .net 3.5 (required for production environment).
Our staging environment is two webserver nodes behind an Amazon EC2 load balancer with no session stickyness (as per production) and an ASPstate database for session handling which is otherwise working. Content is replicated via windows DFS and the Umbraco distributed call which appears to be working correctly everywhere.
It would be greately appreciated if someone could help us get unstuck on this one issue, as it should hopefully be our final critical issue before go live!
We're also putting out feelers for heavyweight Umbraco and .net devs to get us out of this jam so a commercial engagement is also a possibility.
Yours hopefully
- Chris
Were you able to find a solution for this? I am running into the same problem with some custom dataTypes.
is working on a reply...