为什么WAIISHost会锁定某些文件

时间:2012-06-26 17:04:06

标签: azure castle-windsor webdeploy nancy

我正在将一个Web应用程序部署到azure。应用程序是使用Nancy构建的,并且没有定义RoleEntryPoint(请注意这不是问题,网站本身运行得很好)。当我部署到azure时,我启用了Web部署选项。

当我尝试运行Web部署时,收到以下错误:

  

错误7 Web部署任务失败。((6/26/2012 12:28:45 PM)错误   在远程计算机上处​​理请求时发生。)

     

(6/26/2012 12:28:45 PM)请求时发生错误   在远程计算机上处​​理。遇到错误   处理'Castle.Windsor.dll'上的'创建文件'操作。错误   代码是0x80070020。该过程无法访问   'E:\ approot \ bin \ Castle.Windsor.dll'因为正在使用它   另一个过程。

我已经RDP进入角色实例并使用进程资源管理器我看到WAIISHost锁定了我的项目引用的许多程序集。

我无法确定导致这些文件被锁定的原因。

感谢, 杰森

1 个答案:

答案 0 :(得分:2)

Web Deploy不适用于生产环境。described here

WaIisHost.exe是完整IIS Web角色的角色过程,因此当您的Web角色启动时,您的角色DLL将在此过程中加载。在webrole的生命周期中,角色dll将加载到主机进程中,并且无法更改。由于Castle.Windsor.dll位于E:\ approot \ bin *,其中特定于角色的DLL,主机进程中加载​​了此二进制文件。

如果您想要更新您的Web角色,您需要从门户网站或PowerShell更新Windows Azure升级选项。