在IIS下对WEB应用程序进行发布,我们就可以对他进行访问了,可能大家都已经注意到了,当我刚发布WEB应用程序就访问他的某个页面时,这时会发生延迟。这就是所谓的首次命中延迟,解决他的方法就是预编译。
预编译可以分为本地预编译和部署式预编译
(一) 本地预编译:
就是对已经在IIS中发布的WEB应用程序进行编译,这时会在存放WEB应用程序的程序集临时文件夹下生成所有公共资源的编译类。这样在以后访问WEB站点的资源时就不会再发生首次命中延迟事件。
用如下命令来实现:
aspnet_compiler -v dqng (在IIS中已经发布的虚拟路径)来实现本地预编译
(二) 部署式预编译:
他的作用是不仅可以避免首次命中延迟,而且还保护了WEB应用程序,保护了知识产权。
用如下命令来实现:
aspnet_compiler -v /JL(在IIS中发布的WEB站点的虚拟目录) C:/Inetpub/wwwroot/JL
注意:这里要用到IIS里发布的站点的虚拟路径,因此开始时在IIS里发布的是带有.cs文件的公共资源,在用上面的命令预编译以后,可以将先前在IIS里发布的站点去除,之后在将该站点的虚拟目录指向inetpub下生成的加密的站点文件
注意:这里要用到IIS里发布的站点的虚拟路径,因此开始时在IIS里发布的是带有.cs文件的公共资源,在用上面的命令预编译以后,可以将先前在IIS里发布的站点去除,之后在将该站点的虚拟目录指向inetpub下生成的加密的站点文件