ASP.NET MVC 4.5 @ Url.Content产生错误的URL

时间:2013-09-02 00:23:59

标签: c# asp.net asp.net-mvc asp.net-mvc-4 iis

希望有人能够确切地看到这个奇怪的网址是什么。很标准 安装,ASP.NET MVC 4.5,标准路由,工作正常,调试本地,也可以在本地部署到IIS站点,但后来我部署到内部DEV服务器,我已部署其他APPS并且工作正常,我得到了URL如下;

HTTP-SERVER-NAME-SITE-NAME/(F(0QaIzI5Hs7HNb1NFrdjwD01aXryW70GB7x3wmgbZpmA4zt2P4xX33B7qMxDQzCPpnVfZMlIwQ4p0CYANRXC_fzZIFzrSPbMB1_JYGvjk8ARmA3k4TXRwa6-pnrHX94sc0))/

我删除了服务器/网站的名称,只是因为我不想显示它们,在用户登录后生成了Url,这是登录后的返回URL,除了时髦之外都很好已生成的字符串,字符串相同FOR每个会话,还有另一条线索,我不认为这是一个URL问题。内容似乎与服务器相关的部署问题,但吓坏了我,无法解决是什么产生了奇怪的URL。

开发服务器如下; Windows Server 2003 R2

BUT我已将其他应用程序部署到此站点MVC应用程序,并且没有遇到此问题,似乎是这个站点,URL是正确的,因为它重定向到Route Defaults实际上是〜/ Order /索引,因此在最后一个斜杠后,URL为空。

更新:抱歉,我只是双重检查并以另一个用户身份登录,并且那个时髦字符串正在改变的同一个用户,是会话ID吗?只是检查是否是。

2 个答案:

答案 0 :(得分:1)

叹气这是一次有趣的经历,但我想如果你学到了什么,那么也许不是完全浪费的一天。

cookieLess =“UseCookies”为我解决了这个问题,我不记得曾经在任何地方设置此设置并且一切正常,但在DEV服务器上部署的版本上设置此项修复了问题并停止了Web应用程序将表单身份验证票证附加到Url,很有趣,至少我查看了所有的Web配置,其他一切看起来都不错。

答案 1 :(得分:0)

当会话状态配置为在不使用浏览器cookie的情况下存储时,会话ID由ASP.NET以此格式添加到URL:

<sessionState cookieless="true" />

此设置位于web.config中,但也可以在machine.config中。它可能在machine.config中配置,而您在此服务器上部署的其他站点未设置为使用会话,或者它位于当前项目的web.config中。有关详细信息,请参阅此MSDN文章:Cookieless ASP.NET