What is the best .NET web development framework?

Try SubSonic as your ORM. It has a lot of features to make any data intensive project easy to manage.

Depending on what your timeframe for starting is, you should definitely consider ASP. NET MVC. It is a compelling improvement over ASP.NET, and is a spiritual successor to many similar frameworks from the Java space, including Spring/Struts and the like.

It's still in beta for now, but has two release candidates so far. Check it out here: asp.net/mvc/ Nbernate is a good general choice for your ORM; it'll integrate well with almost anything you can think of.

Take a look at the Castle framework. In a nutshell, it includes: MonoRail (Web MVC framework) ActiveRecord (ORM that builds upon Nbernate) Windsor (IoC container) These frameworks are very modular, they can be used together or independently and any of them can be replaced quite easily (i.e. Replacing MonoRail with ASP.NET MVC, ActiveRecord with SubSonic or whatever you need).

I recommend that you grab the latest good build from the build server as the latest official release is somewhat old.

I totally understand why you want to use Nbernate but please think twice whether you have to. Nbernate is not simple and you will have to maintain multiple things to keep your application running (SQL Server: T-SQL, DAL layer: XML + C#, Presentation layer: C#, JavaScript). I personally try to limit the number of technologies as much as possible.

If I can get without stored procedures then I try eliminate any code in my data layer. You cannot do much in your presentation layer (C# and JavaScript). Therefore I try to see what kind of application I'm building.

Are you going to be mainly querying data? If so, then Linq-to-SQL might be the right answer for you. If you need occasionally update some data, then try to take a look at Astoria (ADO.NET Data Services).

There was a good article about it in MSDN Magazine recently. PS: Sometimes I also try PLINQO (requires CodeSmith).

Agreed on Nbernate not being trivial, but when using Nbernate you very seldomly have to use SQL (only for very specific optimization scenarios). DAL: Already done, I usually use Rhino.Commons. Mapping: there's fluent-nhibernate, NMapping.Attributes.

– Mauricio Scheffer Mar 9 '09 at 13:04.

Dot net Nuke is good if you want a Content Management System. I wouldn't use it if you want a lot of fancy custom development but that is totally my own opinion. I would definetly use n.

Go with Subsonic1, as its a mature platform and why not as feature rich as NHbernate, it does offer new features such as Selects with InnerJoins, Where clauses, Aggregate queries, as well as support for SQL stored procedures should you need SQL to perform operations for you. Here is an example of a nested query that yields a collection: ProductCollection products = Select.AllColumnsFrom() . WhereExpression("categoryID").

IsEqualTo(5). And("productid"). IsGreaterThan(10) .

OrExpression("categoryID"). IsEqualTo(2). And("productID").

IsBetweenAnd(2, 5) . ExecuteAsCollection().

Mmmmh, If the solution you are looking for leans more to 'configuration' than actual development, you could look at: Microsoft's Windows SharePoint Services 3.0 (WSS) Don't laugh ;) It's a free technology (built using the . Net framework) that allows you to customise/control a 'hive' of sites/sub-sites, their membership and various content management aspects (document libraries etc) out of the box. Many many features such as RSS feeds, galleries, forums can be configured.It also integrates with Office tools such as MS Word/excel etc (versioning and uploads/downloads).

It is good at collaboration type functions of teams, but could also be used as a CMS system for an internet site if so desired. For example the authentication model can be custom (your own db) or use AD and can be exposed on the internet. The sites can be skinned (20 skins out of box) or do your own/download Sharepoint designer skins.

WSS can be further extended using . Net , but you'll need a fair amount of WSS API knowledge if you want to tinker under the hood. A great little app called SmartPart (http://weblogs.asp.net/jan/archive/2004/06/10/152932.aspx) allows you to integrate your .

Net . Ascx files directly in a WSS webpart (So you should be able to roll your own custom webparts that integrate into the solution.

I can't comment on the web frameworks, but as for data access, LINQ to SQL is super-easy to use, and will allow you to get your DAL setup very quickly. I'm not sure how well it scales, but it allows for really rapid development and more of a code-before-database design methodology. I've used Nbernate more than LINQ to SQL, and Nbernate is really powerful, but it has a bit of a learning curve.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions