Asp.net mvc ASP.NET MVC应用程序正在尝试对纯POST方法执行GET请求

Asp.net mvc ASP.NET MVC应用程序正在尝试对纯POST方法执行GET请求,asp.net-mvc,http,Asp.net Mvc,Http,我有一个ASP.NETMVC5.2.7Web应用程序,它得到一个404HTTP代码 System.Web.HttpException:位于System.Web.Mvc.Controller.HandleUnknownAction(System.Web.Mvc,版本=5.2.7.0,区域性=中性,PublicKeyToken=31bf3856ad364e35) 应用程序托管在Azure中,该错误仅针对部分最终用户发生,而不是针对所有用户。我尝试在任何同样驻留在Azure中的测试环境中重新创建此错误

我有一个ASP.NETMVC5.2.7Web应用程序,它得到一个404HTTP代码

System.Web.HttpException:位于System.Web.Mvc.Controller.HandleUnknownAction(System.Web.Mvc,版本=5.2.7.0,区域性=中性,PublicKeyToken=31bf3856ad364e35)

应用程序托管在Azure中,该错误仅针对部分最终用户发生,而不是针对所有用户。我尝试在任何同样驻留在Azure中的测试环境中重新创建此错误时失败。以前是否有人遇到过此问题?您是如何解决此问题的?当代码中仅存在后期调查/提交时,应用程序在尝试执行GET Surveys/Submit时收到此错误。我理解HTTP 404是因为GET方法不存在。我的问题是,当GET没有在任何地方编码以执行该请求时,是什么导致了GET的尝试执行

这是我的控制器/操作方法,用HttpPost属性修饰:

public class SurveysController : Controller
{
    [HttpPost]
    public ActionResult Submit()
    {
        try
        {
            // some stuff...     
        }
        catch (Exception ex)
        {
            throw;
        }
    }
}
my.cshtml中的代码:

<form id="survey" role="form" method="post" action="@Url.Action("Submit", "Surveys")">

听起来很傻,但是试着把post全大写(method=“post”),你在写什么?控制器方法不接受任何参数
Submit(?)
尝试获取POST方法时应返回错误405 method Not Allowed,Not error 404 Not Found。是否有任何东西可以区分收到错误的用户?应用程序正在使用System.Web.HttpRequestWrapper中的Request.form对象发布对调查的响应(HTTP表单)。POST方法确实有效。问题是,有时应用程序会尝试使用不存在的路由GET Surveys/Submit请求,因此会使用404 Http响应代码。
public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}