我在写一个网站,我想把它上使用就地编译为了使第一个命中更快。 我想使用ClientBuildManager
。CompileFile
方法来为你执行就地编译,这样我有控制编译过程。 虽然由於种种原因,这是理想的方法编译此网站。
为什么IIS Build下到其他Subdirectory " 临时ASP .NET Files "?
当我编译的网站文件按文件通过ClientBuildManager
。CompileFile
exe中方法用于满足上述要求,则输出将转到下一个Subdirectory " 临时ASP .NET Files " 。 但是,当网站被击中后,iis下重新生成控件用不同的子目录" 临时ASP .NET Files " 呈现上一个在位编译无用。
Note : 在位期间创建的程序集编译下" 临时ASP .NET Files " 将保持不变( 依然存在) 。
Note : 就地编译的程序集文件夹和IIS生成程序集文件夹下相同的" 临时ASP .NET Files " dir 。
例如:
- c:WindowsMicrosoft .NETFramework64v4 .0 .30319Temporary ASP .NET Filesroot2ba591b9[ 在位编译文件夹名称 ]
- c:WindowsMicrosoft .NETFramework64v4 .0 .30319Temporary ASP .NET Filesroot2ba591b9[ IIS生成程序集的网站 ]
ClientBuildManager
。CompileFile
Configuration
var buildParameter = new ClientBuildManagerParameter
{
PrecompilationFlags = PrecompilationFlags.Default,
};
var clientBuildManager = new ClientBuildManager(
RootVirtualPath, RootPhysicalPath, null, buildParameter);
...
clientBuildManager.CompileFile(relativeVirtualPath, callback);
其中 RootVirtualPath
只是" " 为默认网站。 RootPhysicalPath
指向磁盘上的位置的网站。 relativeVirtualPath
格式为" ~/myFile aspx " 。 回调用于跟踪进度。