ASP.Net MVC – Differences Between Castle Monorail 3 and ASP.Net MVC

asp.netasp.net-mvcasp.net-mvc-3

I have been using Castle Monorail for some years now with great success, although I haven't bothered to update the version I'm using (2 or 3 year old). Now I'm making a decision on go to ASP.Net MVC 3 or update to the latest Castle version.

I have been looking documentation on the newest version of Castle projects (specially Monorail), but there is really little or no info around (I may be wrong).

Does someone knows what are the differences between Castle Monorail version 3 over ASP.Net MVC3?

Thanks!

Best Answer

To paraphrase Twain the news of the death of the Castle project has been greatly exaggerated. Dynamic Proxy, for example, is used in countless .NET projects, to many to list. It is true that the Castle Project certainly does not always hold your hand with documentation and releases, but that has never been the case. If you were happy to use it in the past then the circumstances are little different.

As for the newest version of Monorail there are some things to consider. First of all it uses a completely different pattern to Monorail 2, that is to say "Composition over inheritance". It follows similar principles to FubuMVC, OpenRasta and NancyFX, unlike MR2 and Asp.net MVC which follow a base controller pattern. Secondly, MR3 is written in F#, not C#. And thirdly there is no upgrade path from MR2 to 3.