Asp.net MVC - Asynch控制器从我的基本控制器获取功能

时间:2011-04-06 19:48:15

标签: asp.net asp.net-mvc-3 asynchronous subclass oop

我有一个基本控制器,它是一个标准的mvc控制器的子类。这包含许多特定于Controller的有用方法。

我现在需要在我的一个新控制器中使用一些asych功能

但是,要做到这一点,您需要创建一个子类AsyncController

的控制器

但我也想访问基本控制器中的功能

显然多重继承是不可能的

那我怎么解决这个问题呢?

2 个答案:

答案 0 :(得分:1)

您可以将您愿意重复使用的功能外部化到服务层,动作过滤器,授权过滤器,模型绑定器......这将取决于您愿意重复使用的功能,以便您可以轻松切换基本控制器到异步控制器并仍然保留功能。如果要使用异步控制器,则需要从AsyncController派生。

答案 1 :(得分:0)

您可以让控制器类继承IAsyncManagerContainerIAsyncController,然后自己实现此功能,也许使用MVC源代码中的代码。您甚至可以将其封装在您委派功能的自己的类中。