ASP.NET中管理的最佳解决方案?

时间:2009-09-19 17:37:19

标签: asp.net asp.net-mvc orm ado.net

我将创建一个Web应用程序,其中许多用户将使用ASP.NET 3.5将数据输入到SQL Server中。由于数据将被设置为从数据库中页面化,因此不会向客户端发送大量数据。使用存储过程。 我问你们有关于性能和响应性问题的web 2.0,即AJAX,jQuery和其他客户端技术(没有回发)的经验。我也研究过ASP.NET MVC,但是大多数示例都显示在LINQ to SQL或Entity Framework中。 LINQ to SQL似乎比普通的ADO.NET执行得慢。我更喜欢将数据加载到对象。

使用javascript在同一页面上打开插入和编辑表单,可以通过模式弹出窗口或在为其保留的区域中打开。

优选地是具有最少编码的解决方案。

你有什么建议?

3 个答案:

答案 0 :(得分:2)

这里有很多回答,而且并非所有内容都有明确的,你应该做XXX而不是XXX。让我试着把它分解。

ASP.MVC vs WebForms(标准ASP.NET) 您可以使用任一平台制作合适的数据输入应用程序。 Webforms已经存在更长时间,并且通过教程确实有更多的覆盖范围,但ASP.NET MVC也同样有能力。 MVC将变得更精简和更精简,如果你想要纯粹的响应能力,这是很好的,但它也可以用Webforms做到,它只需要更多的工作(关闭ViewState,SessionState,最小化回发等)并删除一些Webforms的好处。

数据访问 如果您已经决定使用存储过程作为主要数据访问方法,那么您不会从任何ORM(Linq2Sql,Linq2Entities,NHibernate,Subsonic等)获得任何东西。如果您真的想利用ORM的好处,则必须放弃主数据接口的存储过程。

然而,Linq2Sql被认为是快速的。 Linq2Entities有点慢,但这可能会有所改善。 NHibernate和Subsonic仍然较慢。将它们中的任何一个与ADO.NET进行比较并不是非常有用,因为它们做了非常不同的事情(碰巧围绕着与数据库交谈)。但所有这些都毫无意义,因为任何系统中最慢的部分都是通过互联网向用户来回发送数据。

答案 1 :(得分:2)

阅读你的帖子我看到以下要求/欲望......

系统将处于体重到重负荷,最小编码,存储过程,将数据加载到对象。

听起来像ORM将是一个很好的解决方案。它可能比原始ADO.net调用执行速度慢但是你将极大地减少编码,你可以在L2S和实体框架中使用存储过程,它们都可以在压力下很好地工作。例如,此站点使用L2S。 :)

使用ORM还应该减少开发时间,因为您不必编写所有数据库访问代码。

您仍然可以通过将L2S或实体框架保留为应用程序中仅执行原始数据库访问的层来将数据加载到对象。然后,您创建另一个图层来调用此对象以使用数据填充对象,但您可以控制如何设计这些对象及其工作方式。实际上这是一种推荐的方法。这是一个链接,显示如何创建分层方法。 :)

http://weblogs.asp.net/dwahlin/archive/2008/02/28/building-an-n-layer-asp-net-application-with-linq-lambdas-and-stored-procedures.aspx

关于使用MVC,AJAX,jQuery等的客户端技术......它们是很好的选择,使用MVC,您可以完全控制HTML,并且与Web窗体相比,没有任何视图状态可以担心。

答案 2 :(得分:1)

您是否检查过 Asp.net动态数据项目,这使得从开始到使用应用程序非常快。然后,您将调整那些需要更改的内容。但是你可能必须要了解一些新技术才能完成它。也许Sps不会出现在您的最终解决方案中。

绝对是最少的编码。