我使用c#在ASP.NET中开发了一个应用程序。整个应用程序工作正常,但问题是我第一次打开应用程序时运行速度很慢。即花费这么多时间来加载主页或任何其他页面之类的页面。但是,当我重新打开该页面时,该页面会按照我的预期快速打开。即使应用程序获得会话过期并重新登录到应用程序,它也会花费很多时间来第一次加载所有页面,从第2次打开页面时它就不会发生。所以有人能告诉我这里出现的问题是什么。
答案 0 :(得分:6)
应用程序在第一个请求时编译。
阅读Microsoft的this文章。
因为 ASP.NET会根据第一个用户请求编译您的网站,所以您可以 只需将应用程序的源代码复制到生产Web即可 服务器。但是,ASP.NET还提供了预编译选项 允许您在部署之前编译您的网站,或者 在部署之后但在用户请求之前编译它。 预编译有几个优点。它可以提高性能 您的网站首次请求,因为没有滞后时间 ASP.NET编译网站时。预编译也可以帮助您找到 只有在用户请求页面时才会发现的错误。 最后,如果在部署之前预编译网站,则可以 部署程序集而不是源代码。
您可以使用ASP.NET编译器工具(ASPNET_Compiler.exe)预编译网站。提供以下预编译选项的工具:
但是,您提到如果会话过期,它也会很慢。也许你在会话开始时加载太多内存。没有更多信息就很难做出诊断。
答案 1 :(得分:0)
在.net选项卡中的firebug中检查您的网站,您会发现页面的哪一部分需要花费很多时间来加载, 客户端语言中可能存在一些异常或一些代码错误。 尽量少用会话 并调试您的代码,以澄清没有额外的代码循环 (对不起英语不好,但希望你有我的观点)