0

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

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

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

开发服务器如下;视窗服务器 2003 R2

BUt 我已经将其他应用程序部署到这个站点 MVC 应用程序,并且没有遇到这个问题,只是似乎是这个站点,URL 是正确的,因为它正在重定向到实际上是 ~/Order/Index 的路由默认值,因此最后一个斜杠后的 URL 为空。

更新:对不起,我只是仔细检查并以不同的用户身份登录,并且那个时髦的字符串正在改变的同一个用户,是会话 ID 吗?只是检查看看是不是。

4

2 回答 2

1

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

cookieLess="UseCookies" 为我解决了这个问题,我不记得曾经在任何地方设置过这个并且一切正常,但是在 DEV 服务器上的已部署版本上设置它可以解决问题并阻止 Web 应用程序附加表单Url 的身份验证票,很有趣,至少我检查了所有的 Web 配置,其他一切看起来都还不错。

于 2013-09-02T22:41:48.697 回答
0

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

<sessionState cookieless="true" />

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

于 2013-09-02T04:08:57.197 回答