ASP.NET MVC AsyncController xxx已完成

发布于 2024-09-27 12:35:21 字数 144 浏览 8 评论 0原文

实现 ASP.NET MVC AsyncController 时,xxxCompleted 方法必须是 Public。我想知道这是否意味着可以直接调用 xxxCompleted 方法,或者是否使用 NonAction 或类似的方法在内部对其进行保护?

谢谢。

When implementing ASP.NET MVC AsyncController the xxxCompleted method has to be Public. I'm wondering if this means the xxxCompleted method can be invoked directly, or if this is protected internally using NonAction or something similar?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倒带 2024-10-04 12:35:21

在内部(并且简单地),构造了异步控制器上的操作的 MethodInfo 数组。构造时,AsyncCompleted 后缀将从操作方法名称中删除。

如果您尝试调用诸如 IndexCompleted 之类的操作方法,则会搜索此数组,但由于数组中没有 IndexCompleted (因为后缀已被删除),因此 < code>AsyncControllerActionInvoker 报告未找到任何操作。

值得自己研究一下源代码:

CodePlex 上的 ASP.NET MVC 2 RTM

Internally (and simplistically), there's an array of MethodInfo of the actions on the async controller constructed. When it's constructed the Async and Completed suffixes are stripped off the action method names.

If you try an call an action method such as IndexCompleted this array is searched but because there isn't an IndexCompleted in the array (because the suffixes have been removed) the AsyncControllerActionInvoker reports that no action was found.

It's worth having a poke around the source code to see for yourself:

ASP.NET MVC 2 RTM on CodePlex

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文