ASP.Net-创建性能良好的web应用程序?
我需要创建一个处理大量数据的ASP.Net应用程序,性能非常重要ASP.Net-创建性能良好的web应用程序?,.net,asp.net,performance,.net,Asp.net,Performance,我需要创建一个处理大量数据的ASP.Net应用程序,性能非常重要 使用ASP.Net控件(如GridView、RepeatControl、SQLDataSource等)是一个好主意吗?这些元素的设计是为了表现良好,还是我会因为使用预制和易于使用的元素而失去性能 哪一种是处理数据的正确方法?创建业务层并使用业务对象填充表单?或者直接使用数据表和数据集 请给我一些有助于提高性能的提示 就性能而言,最好使用ASP.NET MVC,以避免ViewState产生的页面大小开销 就其本身而言,MVC不会使
- 使用ASP.Net控件(如GridView、RepeatControl、SQLDataSource等)是一个好主意吗?这些元素的设计是为了表现良好,还是我会因为使用预制和易于使用的元素而失去性能
- 哪一种是处理数据的正确方法?创建业务层并使用业务对象填充表单?或者直接使用数据表和数据集
- 请给我一些有助于提高性能的提示
如果有必要,可以使用EF,但可以将其与手动执行参数化查询结合使用,这些查询仍然可以使用相同的ObjectContext执行(而不是连接所有普通的旧ADO.NET内容).我给出的最大建议是首先使用良好的编程实践构建应用程序,然后使用探查器查看应用程序中花费时间最多的是什么。如果你开始尝试让一切尽可能快,你会把所有的时间都浪费在无关紧要的事情上。另一方面,如果您开始使代码具有可维护性并遵循坚实的原则,您会发现只需更改几段代码,就可以轻松地进行重大改进 对你来说,定义你的绩效目标也是很重要的。页面加载“足够快”到了什么程度?努力实现您的性能目标,但不要过分尝试将用户每月只执行一次的操作再减少10毫秒 也就是说,你会发现最大的时间浪费是:
最后要考虑的一个小问题是,下一个版本的实体框架将自动缓存编译的查询,这将使大多数查询更快地完成,而不会对您的部分进行额外的工作。
- 1:VIEW状态只会导致使用它的开销。例如,您不会将其用于只读网格。同意,但用于打开/关闭ViewState的细粒度控件基本上直到WebForms 4.0才出现,因此……这完全取决于您需要使用的环境和版本。一般来说,删除页面负载中大量的服务器端控件内容仍然是提高原始性能的正确方法,无论是ViewState还是一堆JavaScript将HTML连接到服务器端事件处理程序……对不起,又错了。我有许多.NET 2.0应用程序使用了DataGrid
,但没有巨大的ViewState。我也很抱歉,因为您继续误解了我的意思。我说的是启用/禁用ViewState的粒度。为每个控件打开/关闭ViewState变得很麻烦,在我看来,在整个页面中默认关闭ViewState并在需要时启用它的功能(最后)是使其易于管理的正确方法。这正在演变成一场宗教辩论,但你仍然必须承认,标准的WebForms应用程序在构建时不需要特别小心,很容易在bloat、ViewState或not中拥有数百Kb的页面。请阅读你所写的内容。您会说,“打开/关闭每个控件的ViewState变得很麻烦”,同时您会说,“使用ASP.NET MVC以避免ViewState产生的页面大小开销”。充其量只能说,“使用MVC避免在某些控件上设置EnableViewState='false'的麻烦”。没有理由发表更强烈的声明。彻底的答复和理由+1提到英孚期货。为什么-1?为什么接近?提供