ASP.NET MVC和Spring.NET

时间:2020-03-05 18:47:25  来源:igfitidea点击:

开始一个新项目,并希望使用其中一个MVC framworks。 ASP.NET MVC仍在预览中,但Spring.net仍在生产中,并且具有Java的历史。我想知道两者之间的普遍差距。

当前的问题..
主要功能差异是什么?
部署/托管问题呢?
将来的支持?我们是否认为ASP.NET MVC一旦投入生产,Spring.net就会消失。
当前支持?在下一个预览版中,我看到Jeff谈论了一个重大更改。

谢谢!

解决方案

回答

这个问题让我有些困惑。 Spring.Net是可以在ASP.NET MVC中使用的依赖项注入框架。我的回答是根据实际要求做出的。 ASP.NET MVC与在ASP.NET中运行的另一个MVC框架之间的区别。

如果我们担心在生产环境中使用ASP.NET MVC(甚至还不是Beta版),那么我们可能想看看MonoRail作为替代产品。功能上有些差异,但是两者在术语和MVC的实现方式上都非常接近。要了解差异,这里是一个我们可能需要监视的问题。我认为,一旦ASP.NET正式发布,大多数Microsoft商店都会改用它。在仍在开发ASP.NET MVC的情况下,我们将遇到重大更改,而升级到下一个版本时必须进行更改。那与生活在边缘的领土是一致的。我们只需要阅读发行说明,然后再跳至最新版本。

回答

我给人的印象是Spring.NET从未真正起步,或者至少不如Castle Project Monorail那样强大。

据我了解,Spring.NET也脱离了Java Spring的实现,因此,如果我们来自Java,则学习曲线会比预期的陡峭。从Spring.NET的概述中:

The design of Spring.NET is based on
  the Java version of the Spring
  Framework, which has shown real-world
  benefits and is used in thousands of
  enterprise applications world wide. 
  Spring .NET is not a quick port from
  the Java version, but rather a
  'spiritual port' based on following
  proven  architectural and design
  patterns in that are not tied to a
  particular platform.

至于其他问题,主题的广度使它们很难一口气回答,但我希望Phil Haack能够看到并回答这个问题。 :)

回答

是的,Spring.net将企业解决方案添加到了Microsoft的代码库中,Spring将填补关键的缺失空白。

我可以尝试回答有关Spring.net和ASP.net MVC将来支持的问题。显然,当Microsoft使用RTM / Final版本时,Spring将发布新的Milestone版本:

http://forum.springframework.net/showthread.php?p=14031#post14031(Mark是Spring.net负责人和Microsoft MVP)

我听说他们直到那时都不想放弃任何东西,因为他们已经有足够的Microsoft接受Springs的想法而没有得到认可。

当前对Spring.net和控制器依赖注入的支持可以在MVCContrib中找到。