Asp.net mvc MVC:控制器上的公共方法在我的开发服务器中称为OK,但在测试服务器中称为OK

Asp.net mvc MVC:控制器上的公共方法在我的开发服务器中称为OK,但在测试服务器中称为OK,asp.net-mvc,Asp.net Mvc,我对此完全感到困惑。 我的控制器上有一个公共方法,它在我的开发机器上工作。但是当我部署应用程序时,我会收到一条错误消息,说找不到该方法 [HttpGet] [Authorize(Roles = "Administrator, AdminIT, ManagerIT")] public ActionResult ListExistingIT(GridSortOptions sort, int? page) { if (Request.QueryStri

我对此完全感到困惑。 我的控制器上有一个公共方法,它在我的开发机器上工作。但是当我部署应用程序时,我会收到一条错误消息,说找不到该方法

    [HttpGet]
    [Authorize(Roles = "Administrator, AdminIT, ManagerIT")]
    public ActionResult ListExistingIT(GridSortOptions sort, int? page)
    {
        if (Request.QueryString["lastPersonMessage"] == null)
            ViewData["LastPersonMessage"] = string.Empty;
        else
            ViewData["LastPersonMessage"] = Request.QueryString["lastPersonMessage"];
        EmployeeListViewModel elvm = new EmployeeListViewModel();
        elvm.EmployeeList = EmployeeExtended.GetITEmployees();
        if (sort.Column != null)
        {
            elvm.EmployeeList = elvm.EmployeeList.OrderBy(sort.Column, sort.Direction);
        }
        elvm.EmployeeList = elvm.EmployeeList.AsPagination(page ?? 1, Utility.GetPageLength());
        ViewData["sort"] = sort;
        return View(elvm);
    }
错误消息为;System.Web.HttpException:在控制器“SHP.Controllers.EmployeeController”上未找到公共操作方法“ListExistingIT”

现在,您可能会认为IIS没有接受最新的部署。但是,我在其他地方做了一个更改并部署了它,这是可行的。我还重新启动了IIS。
我无法想象这是如何发生的,或者如何检测错误可能在哪里。

关于类似的(相同的?)问题,这里有很多讨论,因此:

我可以想到3种不同的可能性:

  • 与HttpVerb的冲突 导致找不到该方法
  • 与应用的筛选器冲突 导致该方法被避免
  • 一个路由问题,但这是一个 可能是最后一种可能性。你 可能需要尝试使用 看看那是什么 给你看

  • 你怎么称呼这次行动?你用的是什么网址?什么是HTTP动词?是否涉及AJAX?FireBug对该请求有何评论?您是否有其他MVC应用程序可在此服务器上运行,或者其他ActionResults可在服务器上访问?您使用的浏览器是什么,您是否尝试过不同的浏览器?@BlackTigerX,浏览器与他所经历的没有任何关系。他的问题完全在服务器端。