Asp.net mvc 我可以和WinForms应用程序共享ASP.NETMVC的控制器吗?如何共享?

Asp.net mvc 我可以和WinForms应用程序共享ASP.NETMVC的控制器吗?如何共享?,asp.net-mvc,winforms,controller,web-to-winforms,Asp.net Mvc,Winforms,Controller,Web To Winforms,我正在使用MVC开发web应用程序 我们在设计模型和控制器方面做了大量的工作 我知道我可以在winforms中重用模式 但是我可以在winforms中重用控制器吗?如果我读得正确,并且您希望在winforms应用程序中使用控制器,那么答案是,虽然(像几乎所有事情一样)在技术上是可能的,但您不太可能想要 最大的问题是ASP.NET MVC使控制器变得有用的特性是在围绕控制器的框架中实现的。这些特性支持视图、过滤器和控制器(仅举几例)之间的信息流,并且不会在不同组件之间显式传递。为了利用所有这些特性

我正在使用MVC开发web应用程序

我们在设计模型和控制器方面做了大量的工作

我知道我可以在winforms中重用模式


但是我可以在winforms中重用控制器吗?如果我读得正确,并且您希望在winforms应用程序中使用控制器,那么答案是,虽然(像几乎所有事情一样)在技术上是可能的,但您不太可能想要

最大的问题是ASP.NET MVC使控制器变得有用的特性是在围绕控制器的框架中实现的。这些特性支持视图、过滤器和控制器(仅举几例)之间的信息流,并且不会在不同组件之间显式传递。为了利用所有这些特性,您需要调整MVC框架或编写自己的框架来处理ViewData、绑定和。。。不,只是不。也许如果你的控制器足够简单。。。我在说什么?不要这样做

更好的解决方案是重构将被重用到业务层或其他公共组件中的逻辑,并将其包含在两个项目中。如果你的控制器写得很好,那么它们一开始就没有那么多代码,所以重用它们不会节省很多钱。我从中了解到,在遵循了它对几个项目的建议后,我同意了它。基本的理由是,控制器应该用于控制应用程序的流程以及UI和应用程序其余部分之间的数据。它们不应该包含复杂的业务逻辑


无论如何,这是我在这个问题上的2美分。

+1。好的解释。正如您正确地说的,控制器的代码非常少。但问题是我还是有点想用它。