将 Visual Studio 从 2012 年更新到 2017 年会使应用程序 return 出现错误 404

Update Visual Studio from 2012 to 2017 makes application return error 404

我在使用 Visual Studio 2012,.Net Framework 4.0 的应用程序中工作。现在,我需要更新到 VS 2017。解决方案打开、构建和运行没有错误。

当我访问 public 资源(即 Login.aspx、图像)时,它加载成功。登录后,服务器总是返回404错误。无论资源是否需要认证。

例外是登录页面本身,它永远不会失败。加载后,使其他 public 资源也可用(再次)。

知道可能是什么原因吗?

该应用程序有一个自定义登录名,可以创建其中包含自定义数据的身份验证票证 (.ASPXFORMSAUTH)。在以下请求中,cookie 中的数据由自定义处理程序验证。

它还使用 System.Web.UI.WebControls.Login class,它自己创建身份验证票证,没有自定义数据。

因此,浏览器收到了两个具有相同标识符的 cookie,并丢弃了其中一个。

VS 2012 未加载验证请求的处理程序。迁移到 VS 2017(和 IIS Express)后,加载了处理程序并开始出现错误。

解决方案是避免发送第二个不完整的身份验证票。