Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC 4.5@Url.Content生成错误的Url_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4_Iis - Fatal编程技术网

C# ASP.NET MVC 4.5@Url.Content生成错误的Url

C# ASP.NET MVC 4.5@Url.Content生成错误的Url,c#,asp.net,asp.net-mvc,asp.net-mvc-4,iis,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Iis,希望有人能看到我得到的这个奇怪的url。相当标准 安装程序,ASP.NET MVC 4.5,标准路由,运行良好,调试本地,也可以在本地部署到IIS站点,但随后我部署到内部开发服务器,我已将其他应用部署到该服务器,并且运行良好,我得到了如下URL: HTTP-SERVER-NAME-SITE-NAME/(F(0qaizi5hs7hnb1nfrdjwd01axryw70gb7x3wmgbzpma4zt2p4x3b7qmxdqzcppnvzmliwq4p0cyanrxc\u fzZIFzrSPbMB1

希望有人能看到我得到的这个奇怪的url。相当标准 安装程序,ASP.NET MVC 4.5,标准路由,运行良好,调试本地,也可以在本地部署到IIS站点,但随后我部署到内部开发服务器,我已将其他应用部署到该服务器,并且运行良好,我得到了如下URL:

HTTP-SERVER-NAME-SITE-NAME/(F(0qaizi5hs7hnb1nfrdjwd01axryw70gb7x3wmgbzpma4zt2p4x3b7qmxdqzcppnvzmliwq4p0cyanrxc\u fzZIFzrSPbMB1\u jgvjk8arma3k4txrwa6-pnrHX94sc0))/

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

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

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


更新:抱歉,我只是以另一个用户的身份再次检查并登录,而且也是同一个用户,这个时髦的字符串正在更改,这是会话ID吗?只需检查它是否正确。

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

<sessionState cookieless="true" />

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

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


Cookieeless=“UseCookies”为我解决了这个问题,我不记得在任何地方都设置过这个,而且一切正常,但是在开发服务器上的部署版本上设置它解决了这个问题,并阻止了web应用将表单身份验证票证附加到Url,很有趣,至少我检查了我所有的web配置,其他一切看起来都正常。

这不是sessionid,完全不同,我也尝试过,删除该站点,然后用不同的站点名称将应用程序重新安装到不同的站点,没有问题。您是否尝试过将web.config和IIS设置与其他正常工作的已部署MVC应用程序进行比较?谢谢:)现在,我已经说过我之前所做的,这是第一个ASP.NET/MVC 4,其他都是较旧的版本,但它似乎特定于此服务器,是的,是旧服务器2003 R2,但这似乎仍然是一个基本的问题。好吧,有进展了,我刚刚找到了这篇文章,我所有的坏Url似乎都是以F开头的,这与表单身份验证有关,是的,这就是我正在使用的。对于我的表单身份验证配置,我启用了匿名访问,Windows身份验证已关闭。它实际上看起来像表单身份验证票证,而不是会话Id。很抱歉,是的,我接受了答案,但您是正确的,它是表单身份验证票证,因为它以“(F)”开头是的,就是这样,只是因为我的信用度不高才发布了我的答案,所以当我发现问题时,我无法更早地回答:)啊,谢谢你的更新,我相信你终于找到了答案,这让我松了一口气!