有谁知道是否可以从 azure 角色启动任务中调用 aspnet_compiler 来强制就地预编译。(如果是作为前景/背景或简单任务?)
可能类似于:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_precompile.exe -v / -p "F:\siteroot\0"
或者有没有更好的方法来实现这一点?
有谁知道是否可以从 azure 角色启动任务中调用 aspnet_compiler 来强制就地预编译。(如果是作为前景/背景或简单任务?)
可能类似于:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_precompile.exe -v / -p "F:\siteroot\0"
或者有没有更好的方法来实现这一点?
启动任务是可能的,但其中一个问题是站点根路径是硬编码的,并且可能会发生变化。而是将以下内容添加到 RoleEntryPoint OnStart 方法:
using (var serverManager = new ServerManager())
{
string siteName = RoleEnvironment.CurrentRoleInstance.Id + "_" + "Web";
var siteId = serverManager.Sites[siteName].Id;
var appVirtualDir = $"/LM/W3SVC/{siteId}/ROOT"; // Do not end this with a trailing /
var clientBuildManager = new ClientBuildManager(appVirtualDir, null, null,
new ClientBuildManagerParameter
{
PrecompilationFlags = PrecompilationFlags.Default,
});
clientBuildManager.PrecompileApplication();
}