控制台项目可以重用MVC3 EF4项目的代码(在同一解决方案中)吗?

时间:2011-06-23 05:47:03

标签: c# asp.net-mvc-3 entity-framework-4 console-application

我目前正在使用Entity Framework 4编写ASP.NET MVC3应用程序。

某些任务(例如,处理10K +记录)必须在后台运行。我正在编写一个控制台应用程序来完成这项工作(并且可能将其作为线程或窗口服务运行)。

控制台应用程序和MVC3 EF4项目

由于我在MVC3应用程序中编写了大量服务和模型代码,因此我想在我的控制台项目中重用它。

这可能吗?

(由于时间限制,我无法将服务重构为另一个DLL /代码库)

2 个答案:

答案 0 :(得分:2)

将服务和模型代码移动到另一个DLL中的时间不应超过10分钟(如果是这样)。如果你不想更改命名空间,你甚至不需要 - 只需创建新项目,移动文件,从控制台项目和MVC项目添加对类库的引用,你应该是完成。

答案 1 :(得分:2)

这取决于您如何构建MVC系统以及您将在控制台应用程序中使用哪些部分。

例如,如果要在控制台应用程序中重用Controller逻辑,则需要提供许多类的伪实现。例如HttpContextBase

如果您使用SessionCacheHttpContext,您将很难使用控制台应用的代码库。