我有一个基本控制器,它是一个标准的mvc控制器的子类。这包含许多特定于Controller的有用方法。
我现在需要在我的一个新控制器中使用一些asych功能
但是,要做到这一点,您需要创建一个子类AsyncController
的控制器但我也想访问基本控制器中的功能
显然多重继承是不可能的
那我怎么解决这个问题呢?
答案 0 :(得分:1)
您可以将您愿意重复使用的功能外部化到服务层,动作过滤器,授权过滤器,模型绑定器......这将取决于您愿意重复使用的功能,以便您可以轻松切换基本控制器到异步控制器并仍然保留功能。如果要使用异步控制器,则需要从AsyncController派生。
答案 1 :(得分:0)
您可以让控制器类继承IAsyncManagerContainer
和IAsyncController
,然后自己实现此功能,也许使用MVC源代码中的代码。您甚至可以将其封装在您委派功能的自己的类中。