2015-06-26 56 views
0

我在ASP.NET MVC(版本5.2.3.0)中部署了一個網站,我面臨一個奇怪的問題,有時候URL中會有字符,比如: www.website.com/(X(1)S(3hfps41rchxt45wwrsn4o5bi))/RestOfRoute代替www.website.com/RestOfRouteASP.NET MVC/URL中的神祕字符

它隨機地發生,神祕串總是匹配(X(1)S(*) )。

在stackoverflow上搜索後,我發現它可能與session-less cookie有關,但我的網站並未使用它。 下面是在Web.config的提取物,也許可以幫助:

<authentication mode="Forms"> 
    <forms loginUrl="<url>" timeout="2880" /> 
</authentication> 

有誰知道這是什麼問題的根源?

編輯1:

「的System.Web」 的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> 
+0

哪個'web.config'? 'Views/Web.Config'還是不是? –

+0

不,它是我的網站根目錄下的Web.config –

+0

你有沒有嘗試用'False'值將我的答案添加到你的'web.config'中? –

回答

2
<configuration> 
    <system.web> 
    <sessionState cookieless="true" 
     regenerateExpiredSessionId="true" /> 
    </system.web> 
</configuration> 

塊我敢肯定,你web.config包括在此。 這會爲每個選項卡創建會話。每個標籤都有唯一的標識符,在這個標識符的幫助下,服務器將知道哪個標籤正在請求。

+0

感謝您的回答。不幸的是,我的Web.config中沒有「sessionState」塊。我在我的問題中發佈「system.web」塊。 –

+0

@GérardLambert然後,你可以添加它與tha值'假'? –

+0

有一個評論<! - - >,我刪除它,似乎我沒有更多的問題: - /之後,我收錄了。這似乎還是可以的。我將在兩個小時內檢查C:\ inetpub \ logs \ LogFiles \ W3SVC中的日誌。如果我在日誌中沒有X(1)S(*),那麼我會接受你的回答! –