首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第一次打开应用程序时应用程序变慢

问第一次打开应用程序时应用程序变慢
EN

Stack Overflow用户
提问于 2013-11-07 16:41:01
回答 2查看 273关注 0票数 3

我已经使用c#用ASP.NET开发了一个应用程序。整个应用程序运行得很好,但问题是当我第一次打开应用程序时,它的运行速度非常慢。也就是说,加载主页或任何其他页面需要花费大量的时间。但当我重新打开该页面时,该页面会像我预期的那样快速打开。即使当应用程序会话过期并重新登录到应用程序时,第一次加载所有页面也需要花费如此多的时间,而从第二次打开该页面则不会发生。那么谁能告诉我这里发生了什么问题。

EN

回答 2

Stack Overflow用户

发布于 2013-11-07 16:44:57

应用程序在第一次请求时编译。

阅读微软的this文章。

因为ASP.NET会在第一个用户请求时编译您的网站,所以您只需将应用程序的源代码复制到生产网站服务器即可。但是,ASP.NET还提供了预编译选项,使您可以在部署网站之前编译网站,或者在部署网站之后但在用户请求网站之前编译网站。预编译有几个优点。它可以提高网站在首次请求时的性能,因为在ASP.NET编译网站时不会有延迟时间。预编译还可以帮助您找到错误,否则这些错误只能在用户请求页时才能找到。最后,如果在部署网站之前对其进行了预编译,则可以部署程序集而不是源代码。

可以使用ASP.NET编译器工具(ASPNET_Compiler.exe)预编译网站。该工具提供以下预编译选项:

  1. 就地编译此选项执行的编译与动态编译时执行的编译相同。使用此选项编译已部署到生产server.
  2. Non-updateable完全预编译的网站。使用此选项编译应用程序,然后将编译后的输出复制到生产服务器。所有应用程序代码、标记和UI代码都编译为程序集。占位符文件(如.aspx页)仍然存在,因此您可以执行特定于文件的任务,但这些文件不包含可更新的代码。为了更新任何页面或任何代码,您必须再次预编译网站并将其部署为again.
  3. Updateable预编译这类似于不可更新的完全预编译,不同之处在于.aspx页面和.ascx控件等UI元素保留其所有标记、UI代码和内联代码(如果有的话)。您可以在部署文件后更新文件中的代码;ASP.NET将检测对文件的更改并重新编译它。请注意,代码隐藏文件(.vb或.cs文件)中的代码在预编译期间内置于程序集中,因此,如果不重新执行预编译和部署步骤,则无法对其进行更改。

但是,您提到,如果会话过期,它也会很慢。也许你在会话开始时加载了太多的内存。在没有更多信息的情况下很难做出诊断。

票数 6
EN

Stack Overflow用户

发布于 2013-11-07 17:02:56

在.net标签页的firebug中检查你的站点,你会发现页面的哪一部分需要很长时间才能加载,客户端语言中可能有一些异常或一些代码错误。尝试使用更少的会话和调试你的代码,以澄清没有额外的代码循环(对于糟糕的英语,很抱歉,但希望你能理解我的意思)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19831270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档