MultipleActiveResultSets (MARS) in CMS 12 on DXP

  • Updated
Description

When starting up a new CMS 12 site within the DXP hosted environment with Optimizely, one may encounter errors like:

EPiServer.Framework.Cache.ObjectInstanceCacheExtensions[0].

and:

System.InvalidOperationException: There is already an open DataReader associated with this Connection which must be closed first.

 

This has been shown to be related to the handling of the MultipleActiveResultSets property of the ConnectionString.  This property is no longer being used within the Linux systems hosting our .NET Core sites.  

 

When connection string is configured with MultipleActiveResultSets (MARS) set to true can the application start to throw SQL timeout exceptions when running on Linux due to thread starvation.

 

It has since been removed from our default connection strings in our hosting environments (Azure/DXP).

 

Resolution

Upgrading to CMS 12.5.0 or later should resolve the errors associated with this property no longer being supported in our Azure/DXP environments.