首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET中常用的优化性能的方法(转贴,Icyer收集整理)

当从一个类型到另一个类型进行分配时,转换将自动执行。不过,这种便利会大大损害应用程序的性能。 Visual Basic 现在通过使用 Option Strict 编译器指令来支持类型安全编程。...为此,只需在应用程序激活之前向它请求一个页面,无论哪页均可。然后,当用户首次访问您的站点时,页面及其程序集将已被编译。 没有简单的机制可以知道批编译何时发生。...还应尽量避免更改应用程序的 \bin 目录中的程序集。更改页面会导致重新分析和编译该页,而替换 \bin 目录中的程序集则会导致完全重新批编译该目录。...22.避免到服务器的不必要的往返过程 虽然您很可能希望尽量多地使用 Web 窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。...通常,如果不需要将信息传递到服务器以将其存储在数据库中,那么您不应该编写导致往返过程的代码。 如果您开发自定义服务器控件,请考虑让它们为支持 ECMAScript 的浏览器呈现客户端代码。

2.7K100

【性能优化】ASP.NET常见性能优化方法简述

如果当创建 ASP.NET 应用程序时出现允许您使用它的情况,则 SqlDataReader 类提供比 DataSet 类更高的性能。...当从一个类型到另一个类型进行分配时,转换将自动执行。不过,这种便利会大大损害应用程序的性能。Visual Basic 现在通过使用 Option Strict 编译器指令来支持类型安全编程。...为此,只需在应用程序激活之前向它请求一个页面,无论哪页均可。然后,当用户首次访问您的站点时,页面及其程序集将已被编译。没有简单的机制可以知道批编译何时发生。...还应尽量避免更改应用程序的 \bin 目录中的程序集。更改页面会导致重新分析和编译该页,而替换 \bin 目录中的程序集则会导致完全重新批编译该目录。...通常,如果不需要将信息传递到服务器以将其存储在数据库中,那么您不应该编写导致往返过程的代码。如果您开发自定义服务器控件,请考虑让它们为支持 ECMAScript. 的浏览器呈现客户端代码。

4K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Asp.net mvc 知多少(四)

    什么是 ASP.NET MVC的布局页(Layouts)? Ans. Layouts(布局页)是用来使asp.net mvc中的views保持一致的外观体验。..._ViewStart.cshml 页面是服务于具有相同布局的view(s) 。该文件代码优于同一目录下的其他view代码先执行。该文件也将递归应用于子文件夹下的view(s)。...默认, ASP.NET MVC 项目在Views文件夹下仅有一个 _ViewStart.cshtml 文件。该文件中为你mvc 应用程序指定了默认的layout。...Return RedirectToRoute() - 这是告诉MVC去路由表中查找指定的路由,然后重定向到路由中定义的controller/action。同样,这也要发起一个新的请求。...因为如果使用Redirect,一旦你更改了路由表,你就需要手动去更改那些你自己构造的URLs。 RedirectToRoute 重定向到路由表中定义的指定路由。

    2.3K90

    ASP.NET Core Startup类 Configure()方法 | ASP.NET Core 中间件详细说明

    Core 内置很多中间件,用户可以直接使用,将在文章后面介绍 ---- 4,使用中间件 默认创建 Asp.Net Core Mvc 程序时,会生成如下模板(Asp.Net Core 2.1) 在文章后面或详细列出所有中间件并加以说明...>) 将中间件委托添加到应用程序的请求管道中,对与自定义的中间件,使用此方法。...) 允许传入POST请求以表单指定的类型重写方法类型 UseHttpsRedirection(IApplicationBuilder) 添加用于将HTTP请求重定向到HTTPS的中间件。..., Action) 添加 SignalR 到请求管道中 UseSpa(IApplicationBuilder, Action) 通过返回单页应用程序...) 将应用程序配置为为单页应用程序(SPA)提供静态 一个逗逗的大学生

    3.6K20

    ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    因此,ASP.NET 将http://localhost:xxxxx/Movies/Edit/4转化到Movies 控制器中Edit操作方法,参数ID等于 4 的请求。...scaffolded自动生成的代码,使用了Helper方法的几种简化的 HTML 标记。...数据保存之后,代码会把用户重定向到MoviesController类的Index操作方法,页面将显示电影列表,同时包括刚刚所做的更新。 一旦客户端验证确定某个字段的值是无效的,将显示出现错误消息。...在数据库中,Contains映射到to SQL LIKE,这是大小写不敏感的。 现在,您可以实现Index视图并将其显示给用户。 运行这个应用程序和导航到 /Movies/Index。...当用户通过点击“过滤器”按钮,提交表单, Html.BeginForm助手会导致窗体post到它本身。 Visual Studio2013中有一个很好的改善: 显示和编辑视图文件时。

    6.7K110

    MVC架构在Asp.net中的应用和实现

    在用户更改数据之后,系统再将更新内容存储到数据存储中。因为关键的信息流发生在数据存储和用户界面之间,所以很多应用将数据和用户界面这两部分绑在一起,以减少编码量并提高应用程序性能。...图2.1 MVC关系图 2、为什么要在Web应用中使用MVC架构 用户界面逻辑的更改往往比业务逻辑频繁,尤其是在基于Web的应用程序中。例如,可能添加新的用户界面页,或者可能完全打乱现有的页面布局。...对显示的更改,尽可能地不要影响到数据和业务逻辑。 目前大部分Web应用都是将数据代码和表示混在一起。...良好的项目架构设计,将减少编码工作量 :采用MVC结构 + 代码生成器,是大多数Web应用的理想选择。部分模型(Model)、和存储过程一般可用工具自动生成。...在Asp.net中,简单的模型可以方便地用自动代码生成工具实现。

    3.7K20

    通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行

    下面是会导致 ASP.NET 生产应用程序的发布过程中出现问题的 10 个缺陷以及可避免它们的方法。...LoadControl 和输出缓存 极少有不使用用户控件的 ASP.NET 应用程序。在出现母版页之前,开发人员使用用户控件来提取公用内容,如页眉和页脚。...首先,当 FormsAuthenticationModule 将用户重定向到登录页时,FormsAuthentication.RedirectFromLoginPage 将用户重定向到他们原来请求的页面...Helper 方法是解决 ASP.NET 1.1 中另一个错误的方法,如果您使用 HttpCookieCollection 的字符串索引生成器来检查不存在的 Cookie,此错误会导致虚假 Cookie...这意味着一旦用户经过了身份验证,任何利用角色数据的页(例如,使用启用了安全裁减设置的网站图的页,以及使用 web.config 中基于角色的 URL 指令进行访问受到限制的页)将导致角色管理器查询角色数据存储

    3.6K80

    Asp.net MVC 之 Contorllers(二)

    其次、用户可以请求更加友好的URL,这些URL被程序通过代码自动映射成不那么直观但又便于管理的URL上。 总的来说,URL 重写就实现服务于请求的物理页面与请求URL的解耦。...在 ASP.NET 4 Web Forms 最新版本中,可以使用 URL 路由将传入的 URLs 匹配其他 URLs 而不会产生 HTTP 302 重定向的消耗。...接下来,控制器方法将选择一个视图组件,生成实际的响应。...在 ASP.NET MVC 中,用户请求代理资源(acting on resources)。然而,框架没有规定描述资源和 Action 的语法。...例如,将前面的代码添加到一个 ASP.NET MVC 应用程序的 Global.asax.cs 文件,然后运行,当访问default.aspx页面时,会出现一个 HTTP 404 错误。

    1.9K60

    如何在 ASP.NET MVC 中集成 AngularJS(2)

    在如何在 ASP.NET MVC 中集成 AngularJS(1)中,我们介绍了 ASP.NET MVC 捆绑和压缩、应用程序版本自动刷新和工程构建等内容。...捆绑可以很容易地将多个文件合并或捆绑到一个文件中。您可以创建 CSS,JavaScript 和其他包。压缩可以优化脚本和 CSS 代码,如去除不必要的空格和注释,缩短变量名到一个字符。...开始的时候,我在 _Layout.cshtml 母版页的顶部编写了一些服务器端代码。我所做的头两件事情就是让从程序集信息类中获取应用的序列号,从应用程序设置中获取检索的基本 URL。...当在发布模式和启用优化时,渲染方法将生成一个脚本标记来代表整个捆绑的版本戳。 这就导致了另外一个挑战,那就是应用需要支持发布模式下生成捆绑脚本标签的能力,和调试模式下生成独特文件的脚本标签的能力。...下面的代码片段包含在 _layout.cshtml 母版页中,当应用程序在调试模式下,RenderFormat 会被使用。

    8.3K100

    ASP.NET MVC 随想录—— 使用ASP.NET Identity实现基于声明的授权,高级篇

    在这篇文章中,我将继续ASP.NET Identity 之旅,这也是ASP.NET Identity 三部曲的最后一篇。...的应用程序,我们的应用程序被认为是获取用户所有信息的权威来源,所以本质上可以将应用程序视为封闭的系统,它包含了所有的用户信息。...在上一篇文章中,我使用ASP.NET Identity 验证用户存储在数据库的凭据,并根据与这些凭据相关联的角色进行授权访问,所以本质上身份验证和授权所需要的用户信息来源于我们的应用程序。...在上述代码中,将HttpContext.User.Identity 转换为ClaimsIdentity 对象,并通过该对象的Claims 属性获取到用户相关的所有声明。...这意味着,当用户点击以Google登陆按钮后,浏览器重定向到Google 身份验证服务然后一旦身份验证通过,重定向到GoogleLoginCallBack: /// ///

    2.4K80

    如何在 ASP.NET MVC 中集成 AngularJS(1)

    在 Razor 视图中的 HTML 混合的 .NET 代码看起来像套管代码。另外,在 ASP.NET MVC 模式下,一些业务逻辑是可以被最终写入在 MVC 的控制器中。...幸运的是,捆绑和压缩是 ASP.NET 4.5 ASP.NET 中的一项功能,可以很容易地将多个文件合并或捆绑到一个文件中。你可以创建 CSS,JavaScript 和其他包。...在示例应用程序,会出现两个 Razor 视图被用到,Index.cshtml 和 _Layout.cshtml 母版页布局,这两个 Razor 视图将用于引导和配置应用程序。...这样会以 MVC 默认工程模板的形式,将 Index.cshtml MVC Razor 视图传递到用户输出的主页面内容中。 这个应用程序的目标是使用 Angular 视图取代所有的 MVC 视图。...我有两个选择,要么直接嵌入 NG-View 代码到母版页 _Layout.cshtml 或使用 Razor 视图将它注入到母版页。我决定简单地从索引 Razor 视图中注入标签。

    7.6K60

    使用ASP.NET实现Model View Presenter(MVP)

    ASP.NET使用后置代码页面方式隔离业务逻辑。虽然用心良苦,但是ASP.NET在企业级应用开发方面还是存在如下的不足: l 后置代码页中混合了表现层,业务逻辑层,数据访问层的代码。...之所以出现这种情况是因为后置代码充当了事件引发,流程控制,业务规则和表现逻辑,业务逻辑和数据访问的协调者等多种角色。后置代码页充当这么多的职责导致许多难处理的代码。...和将消息传递到View l MVP和PageMethods的页面重定向:这个主题讨论使用用户控件作为View,如何使用PageMethods处理页面重定向。...在同一页面中没有使用用户控件管理不同的功能性区段,很快就会出现维护困难的问题。 MVP的事件处理 上面的例子,本质上描述的是一个Presenter同它的View之间的单向的通信。...它只是简单将值传给Presenter,由Presenter来决定执行什么样的动作。 这可能导致一个问题:“如果是另一个用户控件引发的Post-back将会发生什么呢”。

    1.1K80

    Blazor 中的路由和路由模板

    通过 ASP.NET MVC,只要请求的 URL 无法映射到物理服务器文件,路由组件就会启动。...此外,正如在 ASP.NET MVC 中发生的那样,解析 URL 时,表中的路由将从最具体到最不具体进行评估,并且搜索在首次匹配时停止。...在客户端上,路由器参与多种情况,最常见的情况是用户单击链接、表单上的提交按钮或下拉列表中触发服务器调用的项。路由器绑定到内部位置更改事件,并从客户端处理导航到新请求路径的整个过程。...毋庸置疑,当应用程序的位置以编程方式更改时,路由器也会启动。最后一点也非常重要,路由器在浏览器历史记录中记录任何它负责的位置更改,因此后退和前进按钮可以按用户的期望工作。...如果在 ASP.NET Core 应用程序中使用 Razor 页面,那么将获得与 Blazor 开发人员完全相同的体验 - @page 指令。

    8.4K21

    .NET周报 【6月第3期 2023-06-18】

    因此,本篇文章主要描述从用户键入请求到服务器响应的大致流程,并深入探讨.NET通过kestrel将HTTP报文转换为HttpContext对象。....net 项目静态文件自动压缩打包 https://www.cnblogs.com/newton/p/17451112.html 在 ASP.NET MVC 时代,我们常使用 BundleCollection...3XX的响应促使客户端像另一个地址再次发起请求,本章将此称为“客户端重定向“。...既然有客户端重定向,自然就有服务端重定向,本章所谓的服务端重定向指的是在服务端通过改变请求路径将请求导向另一个终结点。ASP.NET下的重定向是通过RewriteMiddleware中间件实现的。...SignalR SignalR 无缝重新连接 原生AOT 支持 AsParameters 和编译时最小 API 的自动元数据生成 身份验证和授权 更新了 ASP.NET Core SPA 模板的身份验证

    23320

    如何在 ASP.NET Core 中重写 URL

    下面我我们将学习重写和重定向之间的区别,和何时以及如何在ASP.NET Core 中使用它们。...实际开发中,常见的重写URL场景有如下四种: 跳转到旧内容; 创建好看的URL; 需要处理其他URL的内容; 作为应用程序代码的一部分从一个操作重定向到另一个操作。...前两个非常简单,它们是简单的从一个URL跳转到另一个URL,因为某些内容已经移动,或需要不同权限的用户看到不同内容的状态。...最常见的重写场景是应用程序级别的,比如正在构建应用程序,需要在某个情况下重定向到另一个端点,例如登录和身份验证,点击登录URL,这个URL将登录并作为登录流程的一部分,登录成功后将被重定向到起始页或传入的...Response.Redirect()在 ASP.NET Core 中,不会像ASP.NET 那样进行自动路径修复,必须指定整个路径。

    3.2K20

    Asp.Net MVC4入门指南(9):查询详细信息和删除记录

    在本教程中,您将查看自动生成的Details和Delete方法。 查询详细信息和删除记录 打开Movie控制器并查看Details方法。...一个重要的安全功能内置到了方法中。方法首先验证Find方法已经找到了一部电影,然后再执行其它代码。...这是框架代码在前面的示例中所使用的方法。然而,这就带来了一个小问题: ASP.NET 将部分的 URL按名称映射到操作方法,如果您重命名了方法,通常Routing将无法找到该方法。...ASP.NET MVC 应用程序并在本地的 DB 数据库中存储数据。...使用 ComponentOne Studio ASP.NET MVC 这款轻量级控件,在效率大幅提高的同时,还能满足用户的所有需求。

    2K80

    ASP.NET MVC 5 - 查询Details和Delete方法

    在这部分教程中,接下来我们将讨论自动生成的Details和Delete方法。 查询Details和Delete方法 打开Movie控制器并查看Details方法。...Code First 使得您可以轻松的使用Find方法来搜索数据。一个重要的安全功能内置到了方法中。方法首先验证Find方法已经找到了一部电影,然后再执行其它代码。...如果您没有检测是否找到了Movie, null Movie会导致出现数据错误。 查看Delete和DeleteConfirmed方法。...这是框架代码在前面的示例中所使用的方法。然而,这就带来了一个小问题: ASP.NET 将部分的 URL按名称映射到操作方法,如果您重命名了方法,通常Routing将无法找到该方法。...ASP.NET MVC 应用程序并在本地的 DB 数据库中存储数据。

    3.1K60

    ASP.NET Core 1.1 简介

    响应缓存中间件会作为ASP.NET MVC中OutputCacheAttribute的继任者。...URL重写中间件 通过可以使用IIS标准XML格式化规则,Apache Mod_Rewrite语法或一些编码到您的应用程序中的一些简单的C#方法配置的中间件组件将URL重写功能带到ASP.NET Core...这允许将设计用于客户端消耗的公共URL空间映射到中间件流水线所需的下游组件的任何表示,以及根据模式将客户端重定向到不同的URL。...另一个示例是将所有请求重定向到http://example.com到https://example.com。...对于默认的认证流,这通常只是意味着用户被重定向到再次登录。 但是,对于使用Data Protections Protect方法手动加密的任何内容,您将无法完全解密数据。

    2.4K60
    领券