小编Chr*_*oon的帖子

间歇性的asp.net mvc异常:"在控制器XYZ上找不到公共操作方法ABC."

我得到一个间歇性的例外,说asp.net mvc找不到动作方法.这是例外:

在控制器'Schoon.Form.Web.Controllers.ChrisController'上找不到公共操作方法'Fill'.

我认为我已正确设置路由,因为此应用程序大部分时间都可以正常工作.这是控制器的动作方法.

[ActionName("Fill")]
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post), UserIdFilter, DTOFilter]
public ActionResult Fill(int userId, int subscriberId, DisplayMode? mode)
{
     //…
}
Run Code Online (Sandbox Code Playgroud)

路线:

routes.MapRoute(
        "SchoonForm",
        "Form/Fill/{subscriberId}",
        new { controller = "ChrisController", action = "Fill" },
        new { subscriberId = @"\d+" }
    );
Run Code Online (Sandbox Code Playgroud)

这是堆栈:

System.Web.HttpException:在控制器'Schoon.Form.Web.Controllers.ChrisController'上找不到公共操作方法'Fill'.在C:\ dev\ThirdParty\MvcDev\src\SystemWebMvc\Mvc\Controller.cs中的System.Web.Mvc.Controller.HandleUnknownAction(String actionName):C中的System.Web.Mvc.Controller.ExecuteCore()中的第197行:\ dev\ThirdParty\MvcDev\src\SystemWebMvc\Mvc\Controller.cs:C:\ dev\ThirdParty\MvcDev\src\SystemWebMvc\Mvc \中System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)的第164行ControllerBase.cs:C:\ dev\ThirdParty\MvcDev\src\SystemWebMvc\Mvc\ControllerBase.cs:第87行中System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)的第76行在C:\ dev\ThirdParty\MvcDev\src\SystemWebMvc\Mvc\MvcHandler.cs中的System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext):System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext)中的第80行在C:\ dev\ThirdParty\MvcDev\src\SystemWebMvc\Mvc\MvcHandler.cs:第68行,位于C:\ dev\ThirdParty \中的System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) MvcDev的\ src\SystemWebMvc \了Mv c\MvcHandler.cs:System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)上的System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中的第104行

以下是我的过滤器示例,它们的工作方式相同:

public class UserIdFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        const string Key = …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc exception

89
推荐指数
4
解决办法
4万
查看次数

标签 统计

asp.net-mvc ×1

exception ×1