首页 > 解决方案 > 从 asp.net MVC4 升级到 MVC5 抛出“此请求已被阻止,因为敏感信息可能会泄露给第三方

问题描述

我正在使用此处的说明将 asp.net MVC4 应用程序升级到 MVC5: https ://docs.microsoft.com/en-us/aspnet/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc- 4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2

我过去在其他项目上也这样做过,但由于某种原因,这个项目抛出了这个错误:“/[My]”应用程序中的服务器错误。此请求已被阻止,因为在 GET 请求中使用敏感信息可能会泄露给第三方网站。要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。

处理此错误的标准建议不适用,因为 (a) 此代码在尝试升级之前有效,并且 (b) 我没有尝试返回 JSON。

我将我的默认控制器减少到尽可能简单的东西:

家庭控制器.cs

public class HomeController : Controller
{
    public ActionResult Estimated()
        {
            return View();
        }
}

视图/主页/Index.cshtml

@{
    ViewBag.Title = "This is a test";
}

<H1>@ViewBag.Title</H1>

我还从 _layout.html 中删除了所有内容,但只删除了基本内容

<!DOCTYPE html>
<html lang="en">
<head>
    <title>@ViewBag.Title</title>
</head>
<body>
    @RenderBody()
</body>
</html>

并将我的 MvcApplication 简化为 Application_Start 函数:

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    RouteConfig.RegisterRoutes(RouteTable.Routes);
}

我可以在调试器中验证索引是否在控制器中被调用,并且可以单步执行到它返回的点。

不能在 index.cshtml 的任何行上设置断点(通常我可以在第 2 行或第 5 行中断),调试器无法绑定断点并出现错误“没有为文档加载任何符号”。

我已经多次浏览了升级文档,没有看到任何我遗漏的内容。

由于这些相同的指令过去曾在其他应用程序上工作过,并且控制器/视图在升级之前工作(真实的和琐碎的)我可以想到两种可能性:

  1. 我在非常详细和多步骤的手动更新说明中搞砸了一些步骤(这将是我的主要假设,但我不仅独立做了两次,而且多次检查了代码)。
  2. 这个古老而复杂的应用程序还有其他一些东西会导致这种行为。我不能(显然)为这种情况创建一个最小的复制案例,所以这需要其他人以前遇到过这种情况并提出解决方案。

抛出的错误或无法绑定剃刀页面上的断点是否提供了关于我错过了什么或此应用程序可能有什么异常的线索?

标签: asp.netasp.net-mvc-4asp.net-mvc-5

解决方案


推荐阅读