在实现 ASP.NET MVC AsyncController 时,xxxCompleted 方法必须是 Public。我想知道这是否意味着可以直接调用 xxxCompleted 方法,或者是否使用 NonAction 或类似的方法在内部对其进行保护?
谢谢。
最佳答案
在内部(简单来说),有一个数组 MethodInfo
构造的异步 Controller 上的操作。当它被构建时 Async
和 Completed
后缀从 Action 方法名称中剥离。
如果您尝试调用操作方法,例如 IndexCompleted
搜索此数组但因为没有 IndexCompleted
在数组中(因为后缀已被删除)AsyncControllerActionInvoker
报告称未发现任何操作。
值得一看源代码,自己看看:
关于ASP.NET MVC AsyncController xxxCompleted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3955483/