asp.net – 第一次访问网站需要非常长的时间(总共最多68秒)
我有一个ASP.Net应用程序,它第一次访问时需要非常长的时间来启动.我做了一些跟踪,发现这个函数花了57秒:
Boolean System.Web.Compilation.WebDirectoryBatchCompiler.CompileNonDependentBuildProviders(ICollection) 而该功能依次调用以下一个6次: Void System.Web.Compilation.WebDirectoryBatchCompiler.CompileAssemblyBuilder(AssemblyBuilder) 我的问题是System.Web.Compilation.WebDirectoryBatchCompiler.CompileAssemblyBuilder做了什么?我的Web应用程序已经编译好了,我不知道它为什么要在启动时进行任何类型的编译工作.这是正常的吗?有什么事我不知道吗? 解决方法
启动ASP.NET应用程序时会发生相当多的自举.这包括工作进程,加载到AppDomain中的程序集以及当前目录中的文件编译.这个批处理编译过程是每个文件夹,这意味着如果我第一次请求/批处理编译器将扫描文件夹中的受支持类型,编译它们并缓存结果.这只在root /文件夹中完成.我对另一个/ OffRoot文件夹的第一个请求将导致另一个批量编译.
如果您有预编译的站点,运行时仍会执行此类扫描,但确定它不必编译任何内容. 预编译的网站和编译的Web应用程序之间存在重要差异.预编译的网站将提前完成此第一个实例的编译,因此只需将程序集加载到需要的AppDomain中.使用已编译的Web应用程序,您已编译了基本源代码,但视图(.aspx)文件未编译,因此它仍然执行首次编译(动态编译). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 什么是关键字如果Page.IsPostBack如何使用它
- asp.net-web-api – 从OWIN中间件更改响应对象
- C# 中的委托和事件 [转载]
- asp.net-mvc-3 – 为mvc创建一个html帮助器
- asp.net-mvc – 如何与Entity Framework创建外键关系?
- asp.net-mvc – 为什么我不能从Web平台安装程序安装ASPNET
- asp.net-mvc – 在nopcommerce 2.8中使用Telerik插件的自定
- asp.net-mvc – 如何从控制器获取所有动作名称
- .net – 什么是Automapper?
- asp.net-mvc – ASP.NET MVC 4 Visual Studio 2010项目模板
- TextBox导致ASP.NET中的Button Postback
- asp.net – 绕过Windows身份验证
- asp.net-mvc – 未设置localhost cookie
- asp.net – 链接按钮属性在新选项卡中打开?
- asp.net-mvc – 使用ASP.NET MVC 3.0进行日期验证
- 开源音乐下载神器XMusicDownloader更新,支持歌单
- asp.net – Response.Redirect(Request.Url.Abso
- asp.net-mvc – 文件“?/ Views/Position/Edit.c
- asp.net – 在Visual Studio编辑器中配置<%%>块
- ASP.NET MVC 2中是否存在强类型的RedirectToActi