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

Joh*_*ter 3 .net c# asp.net sql-server-2008

我使用c#在ASP.NET中开发了一个应用程序.整个应用程序工作正常,但问题是我第一次打开应用程序时运行速度很慢.即花费这么多时间来加载主页或任何其他页面的页面.但当我重新打开该页面时,该页面会按照我的预期快速打开.即使应用程序获得会话过期并重新登录到应用程序,它也会花费很多时间来第一次加载所有页面,从第2次打开页面时它就不会发生.所以有人能告诉我这里出现的问题是什么.

Tim*_*ter 6

应用程序在第一个请求时编译.

阅读Microsoft的这篇文章.

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

您可以使用ASP.NET编译器工具(ASPNET_Compiler.exe)预编译Web站点.提供以下预编译选项的工具:

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

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