什么是最好的.NET Web开发框架?

时间:2023-01-20 08:35:03

I'm looking for a framework to simplify the creation of a website with social networking features and plenty of custom functionality.

我正在寻找一个框架来简化具有社交网络功能和大量自定义功能的网站的创建。

I'm quite keen to use an ORM like nHibernate or similar for data access.

我非常渴望使用像nHibernate或类似的ORM进行数据访问。

Would DotNetNuke be a good choice? Or are there other options which are better.

DotNetNuke会是一个不错的选择吗?或者还有其他更好的选择。

Added: I'm quite keen not to have to reinvent the wheel for the social network features like secure login, open id, friends etc.

补充:我非常渴望不必重新发明社交网络功能,如安全登录,开放ID,朋友等。

8 个解决方案

#1


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

尝试使用SubSonic作为您的ORM。它具有许多功能,可以使任何数据密集型项目易于管理。

#2


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: http://www.asp.net/mvc/

根据您的启动时间表,您应该考虑ASP.NET MVC。它是对ASP.NET的一个引人注目的改进,并且是Java空间中许多类似框架的精神继承者,包括Spring / Struts等。它目前仍处于测试阶段,但到目前为止还有两个发布候选版本。在这里查看:http://www.asp.net/mvc/

NHibernate is a good general choice for your ORM; it'll integrate well with almost anything you can think of.

NHibernate是您的ORM的一般选择;它几乎可以与你能想到的任何东西很好地融为一体。

#3


Take a look at the Castle framework.

看看Castle框架。

In a nutshell, it includes:

简而言之,它包括:

  • MonoRail (Web MVC framework)
  • MonoRail(Web MVC框架)

  • ActiveRecord (ORM that builds upon NHibernate)
  • ActiveRecord(基于NHibernate构建的ORM)

  • Windsor (IoC container)
  • 温莎(IoC容器)

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).

这些框架非常模块化,可以一起使用或独立使用,任何一个都可以很容易地替换(即用ASP.NET MVC替换MonoRail,用SubSonic替换ActiveRecord或任何你需要的)。

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

我建议您从构建服务器获取最新的良好版本,因为最新的官方版本有点旧。

#4


I totally understand why you want to use NHibernate but please think twice whether you have to. NHibernate 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).

我完全理解你为什么要使用NHibernate但是请你三思而后行。 NHibernate并不简单,您必须维护多个东西才能使应用程序保持运行(SQL Server:T-SQL,DAL层:XML + C#,表示层: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.

我个人试图尽可能地限制技术数量。如果我可以在没有存储过程的情况下获得,那么我尝试消除数据层中的任何代码。您在表示层(C#和JavaScript)中做不了多少。因此,我试着看看我正在构建什么样的应用程序。你会主要查询数据吗?如果是这样,那么Linq-to-SQL可能是您的正确答案。如果您需要偶尔更新一些数据,那么请尝试查看Astoria(ADO.NET数据服务)。最近在MSDN杂志上发表了一篇很好的文章。

PS: Sometimes I also try PLINQO (requires CodeSmith).

PS:有时我也尝试PLINQO(需要CodeSmith)。

#5


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.

如果你想要一个内容管理系统,Dot net Nuke很好。如果你想要很多花哨的定制开发,我不会用它,但这完全是我自己的看法。

I would definetly use nHibernate good ORM.

我肯定会使用nHibernate好的ORM。

#6


Go with [Subsonic][1], 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.

与[Subsonic] [1]一起使用,作为一个成熟的平台,为什么不像NHbernate那样功能丰富,它确实提供了新功能,例如选择内部连接,Where子句,聚合查询,以及对SQL存储过程的支持,如果你需要SQL来为您执行操作。

Here is an example of a nested query that yields a collection:

以下是生成集合的嵌套查询示例:

ProductCollection products = Select.AllColumnsFrom<Product>()
                .WhereExpression("categoryID").IsEqualTo(5).And("productid").IsGreaterThan(10)
                .OrExpression("categoryID").IsEqualTo(2).And("productID").IsBetweenAnd(2, 5)
                .ExecuteAsCollection<ProductCollection>();

#7


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)

微软的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.

它是一种免费技术(使用.Net框架构建),允许您自定义/控制网站/子站点的“配置单元”,其成员资格和各种内容管理方面(文档库等)。可以配置许多许多功能,如RSS源,画廊,论坛。

It also integrates with Office tools such as MS Word/excel etc (versioning and uploads/downloads).

它还集成了Office工具,如MS Word / excel等(版本控制和上传/下载)。

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.

它擅长团队的协作类型功能,但如果需要,也可以用作互联网站点的CMS系统。

For example the authentication model can be custom (your own db) or use AD and can be exposed on the internet.

例如,身份验证模型可以是自定义(您自己的数据库)或使用AD,并可以在Internet上公开。

The sites can be skinned (20 skins out of box) or do your own/download Sharepoint designer skins.

这些网站可以被剥皮(开箱即用20张皮)或自己动手/下载Sharepoint设计师皮肤。

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.

可以使用.Net进一步扩展WSS,但是如果你想修改它,你需要相当数量的WSS API知识。

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.

一个名为SmartPart的小应用程序(http://weblogs.asp.net/jan/archive/2004/06/10/152932.aspx)允许您将.Net .ascx文件直接集成到WSS webpart中(所以你应该能够推出集成到解决方案中的自定义Web部件。

#8


This seems to be one of the good framework http://www.sageframe.com/download.aspx

这似乎是一个很好的框架http://www.sageframe.com/download.aspx

Regards, Piyush

#1


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

尝试使用SubSonic作为您的ORM。它具有许多功能,可以使任何数据密集型项目易于管理。

#2


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: http://www.asp.net/mvc/

根据您的启动时间表,您应该考虑ASP.NET MVC。它是对ASP.NET的一个引人注目的改进,并且是Java空间中许多类似框架的精神继承者,包括Spring / Struts等。它目前仍处于测试阶段,但到目前为止还有两个发布候选版本。在这里查看:http://www.asp.net/mvc/

NHibernate is a good general choice for your ORM; it'll integrate well with almost anything you can think of.

NHibernate是您的ORM的一般选择;它几乎可以与你能想到的任何东西很好地融为一体。

#3


Take a look at the Castle framework.

看看Castle框架。

In a nutshell, it includes:

简而言之,它包括:

  • MonoRail (Web MVC framework)
  • MonoRail(Web MVC框架)

  • ActiveRecord (ORM that builds upon NHibernate)
  • ActiveRecord(基于NHibernate构建的ORM)

  • Windsor (IoC container)
  • 温莎(IoC容器)

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).

这些框架非常模块化,可以一起使用或独立使用,任何一个都可以很容易地替换(即用ASP.NET MVC替换MonoRail,用SubSonic替换ActiveRecord或任何你需要的)。

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

我建议您从构建服务器获取最新的良好版本,因为最新的官方版本有点旧。

#4


I totally understand why you want to use NHibernate but please think twice whether you have to. NHibernate 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).

我完全理解你为什么要使用NHibernate但是请你三思而后行。 NHibernate并不简单,您必须维护多个东西才能使应用程序保持运行(SQL Server:T-SQL,DAL层:XML + C#,表示层: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.

我个人试图尽可能地限制技术数量。如果我可以在没有存储过程的情况下获得,那么我尝试消除数据层中的任何代码。您在表示层(C#和JavaScript)中做不了多少。因此,我试着看看我正在构建什么样的应用程序。你会主要查询数据吗?如果是这样,那么Linq-to-SQL可能是您的正确答案。如果您需要偶尔更新一些数据,那么请尝试查看Astoria(ADO.NET数据服务)。最近在MSDN杂志上发表了一篇很好的文章。

PS: Sometimes I also try PLINQO (requires CodeSmith).

PS:有时我也尝试PLINQO(需要CodeSmith)。

#5


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.

如果你想要一个内容管理系统,Dot net Nuke很好。如果你想要很多花哨的定制开发,我不会用它,但这完全是我自己的看法。

I would definetly use nHibernate good ORM.

我肯定会使用nHibernate好的ORM。

#6


Go with [Subsonic][1], 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.

与[Subsonic] [1]一起使用,作为一个成熟的平台,为什么不像NHbernate那样功能丰富,它确实提供了新功能,例如选择内部连接,Where子句,聚合查询,以及对SQL存储过程的支持,如果你需要SQL来为您执行操作。

Here is an example of a nested query that yields a collection:

以下是生成集合的嵌套查询示例:

ProductCollection products = Select.AllColumnsFrom<Product>()
                .WhereExpression("categoryID").IsEqualTo(5).And("productid").IsGreaterThan(10)
                .OrExpression("categoryID").IsEqualTo(2).And("productID").IsBetweenAnd(2, 5)
                .ExecuteAsCollection<ProductCollection>();

#7


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)

微软的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.

它是一种免费技术(使用.Net框架构建),允许您自定义/控制网站/子站点的“配置单元”,其成员资格和各种内容管理方面(文档库等)。可以配置许多许多功能,如RSS源,画廊,论坛。

It also integrates with Office tools such as MS Word/excel etc (versioning and uploads/downloads).

它还集成了Office工具,如MS Word / excel等(版本控制和上传/下载)。

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.

它擅长团队的协作类型功能,但如果需要,也可以用作互联网站点的CMS系统。

For example the authentication model can be custom (your own db) or use AD and can be exposed on the internet.

例如,身份验证模型可以是自定义(您自己的数据库)或使用AD,并可以在Internet上公开。

The sites can be skinned (20 skins out of box) or do your own/download Sharepoint designer skins.

这些网站可以被剥皮(开箱即用20张皮)或自己动手/下载Sharepoint设计师皮肤。

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.

可以使用.Net进一步扩展WSS,但是如果你想修改它,你需要相当数量的WSS API知识。

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.

一个名为SmartPart的小应用程序(http://weblogs.asp.net/jan/archive/2004/06/10/152932.aspx)允许您将.Net .ascx文件直接集成到WSS webpart中(所以你应该能够推出集成到解决方案中的自定义Web部件。

#8


This seems to be one of the good framework http://www.sageframe.com/download.aspx

这似乎是一个很好的框架http://www.sageframe.com/download.aspx

Regards, Piyush