Dir*_*oer 3 publish publishing azure azure-webjobs
我正在使用Visual Studio中的右键单击发布直接发布到Azure中的暂存槽。我添加了Application Insights,将WebJob添加到了我的应用程序中。
我已启用Remove additional files at destination并Precompile during Publishing开启。
但是,当Web Job正在运行并且我的暂存站点未“停止”时,因为它仍在预热中,因此出现以下错误:
Web部署任务失败。((18-Jan-18 22:47:23)在远程计算机上处理请求时发生错误。
(18-Jan-18 22:47:23)在远程计算机上处理请求时发生错误。在'D:\ home \ site \ wwwroot \ App_Data \ jobs \ continuous'上处理操作'Delete Directory'时遇到错误。错误代码为0x80070091。目录不为空。
Microsoft.Web.Deployment.DirPathProviderBase.Delete(Boolean whatIf)Microsoft.Web.Deployment.DirectoryEx.Delete(String path)上的Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode,String mayFullPath)ProjectX.Web 7 0
我可以通过手动停止暂存插槽,上传并重新启动来解决此问题。不过这很麻烦。
有解决办法吗?
我读到某个地方,您可以在发布过程中自动使(登台)应用程序脱机,但是找不到该设置。
更新1
<PropertyGroup>
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
...对我不起作用。
更新2
在暂存插槽中添加WEBJOBS_STOPPED设置对我不起作用。
在Azure应用服务上启用Application Insights后,它在内部安装了一个扩展程序,该扩展程序启动了一个连续的Web作业,并且与该Web作业相对应的内容已复制到App_Data文件夹中。实际的问题是因为扩展数据被复制到App_Data文件夹中,该文件夹中仅应包含用户数据而非基础结构数据。
现在,当您在Visual Studio中选择选项“从目标中删除其他文件”时,它将尝试从App_Data文件夹中删除所有内容,包括Application Insights数据。由于Application Insights Web作业已经在后台运行,因此相应的dll文件被锁定。
即使您选择了“ App脱机”或“停止Web作业”选项并成功删除了所有内容,您的部署也会成功,但是这样一来,您的Application Insights将被破坏,因此您可能必须再次配置Application Insights。
建议:
选择跳过“ App_Data”文件夹以及选项“从目标删除其他文件”。
它将删除除App_Data文件夹内容以外的所有内容,因此将跳过与Application Insights连续Web作业对应的dll文件。
局限性
尽管此解决方案有局限性-如果要删除/修改现有的用户定义的Web作业,则不能跳过App_Data文件夹。在这种情况下,要么必须执行两步部署,要么必须重新安装应用程序洞察扩展。
| 归档时间: |
|
| 查看次数: |
2070 次 |
| 最近记录: |