Reputation: 43
I have deployed a website in ASP.NET MVC (version 5.2.3.0) and i am facing a strange problem, sometimes there are characters which goes in the URL like, for example : www.website.com/(X(1)S(3hfps41rchxt45wwrsn4o5bi))/RestOfRoute instead of www.website.com/RestOfRoute
It happens randomly and the mysterious string always matches (X(1)S(*)).
After searching on stackoverflow, I found that it could be related to session-less cookie, but my website does not use it. Here is an extract of the Web.config that maybe could help :
<authentication mode="Forms">
<forms loginUrl="<url>" timeout="2880" />
</authentication>
Does anybody know what is the source of this problem ?
EDIT 1 :
"system.web" block of the Web.config
<system.web>
<customErrors mode="RemoteOnly" />
<compilation debug="false" targetFramework="4.5">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
<authentication mode="Forms">
<forms loginUrl="<url>" timeout="2880" />
</authentication>
<pages>
<namespaces>
<add namespace="System.Web.Helpers"/>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Web.WebPages"/>
<add namespace="Telerik.Web.Mvc.UI"/>
</namespaces>
</pages>
<httpHandlers>
<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/>
<add path="Telerik.Web.UI.DialogHandler.axd" verb="*" type="Telerik.Web.UI.DialogHandler" validate="false"/>
<add verb="GET,HEAD" path="asset.axd" validate="false" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc"/>
</httpHandlers>
<httpRuntime maxRequestLength="2048576000" />
</system.web>
Upvotes: 0
Views: 671
Reputation: 26635
<configuration>
<system.web>
<sessionState cookieless="true"
regenerateExpiredSessionId="true" />
</system.web>
</configuration>
I am pretty sure, your web.config
included this.
This makes session per tabs. Each tab will have unique identifier, and with the help of this identifer the server will know which tab is requesting.
Upvotes: 2