I'm running Sitecore 8.2 Update 4, and I'm trying to turn on shared SQL sessions. I've followed the instructions found here, and made these changes.
In my web.config file:
<sessionState mode="Custom" customProvider="mssql" cookieless="false" timeout="1">
<providers>
<add name="mssql"
type=" Sitecore.SessionProvider.Sql.SqlSessionStateProvider, Sitecore.SessionProvider.Sql"
connectionStringName="session"
pollingInterval="2"
compression="true"
sessionType="private"/>
</providers>
</sessionState>
In my ConnectionStrings.config file,
<add name="session" connectionString="user id=my_Service_Account;password=my_Password;Data Source=my_IP_Address;Database=SitecoreSessions"/>
In my Sitecore.Analytics.Tracking.config file, I've got this change:
<tracking>
<sharedSessionState defaultProvider="mssql">
<providers>
<add name="InProc">
<patch:delete/>
</add>
<clear/>
<add name="mssql" type="Sitecore.SessionProvider.Sql.SqlSessionStateProvider,Sitecore.SessionProvider.Sql" connectionStringName="session" pollingInterval="2" compression="true" sessionType="shared"/>
</providers>
</sharedSessionState>
</tracking>
Everything seems to work fine on my development sandbox. However, once I deploy my changes to our test server, which has multiple server roles (i.e. CM/CD/Reporting/Processing and Aggregation), I get this error on the CD Server's log:
676 15:28:10 WARN Failed to deserialize Session object. Exception: Sitecore.Analytics.Exceptions.TypeNotAllowedForBindingException Message: Binding for type Sitecore.Analytics.Tracking.StandardSession from assembly Sitecore.Analytics, Version=8.1.0.0, Culture=neutral, PublicKeyToken=null is not allowed. Source: Sitecore.Analytics at Sitecore.Analytics.Sessions.WhitelistSerializationBinder.BindToType(String assemblyName, String typeName) at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Bind(String assemblyString, String typeString) at System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo assemblyInfo, String name) at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable) at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record) at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at Sitecore.Analytics.Sessions.PushSession.ProcessRequest(HttpContext context)
I've noticed that my Sitecore.Analytics.dll
version is 10.0.3, not 8.1.0.0, as is being requested in the .NET stack trace. I'm not sure why Sitecore is looking for version 8.1 instead of version 8.2 of that DLL. Where can I go to start figuring out how to fix this issue?
Sitecore.Cloud.ContentSearch.dll
andSitecore.Cloud.Xdb.dll
. I removed those and that error has gone away now. Thanks for your help! – Keith VanderVeen Oct 31 '17 at 16:44