Why does WAIISHost lock certain files

2

I am deploying a web application to azure. The application is built using Nancy, and there is no RoleEntryPoint defined (please note this isn't a problem, the website itself is running just fine). When I deploy to azure, i have enabled the web deploy option.

When I attempt to run a webdeployment, am getting the following error:

Error 7 Web deployment task failed.((6/26/2012 12:28:45 PM) An error occurred when the request was processed on the remote computer.)

(6/26/2012 12:28:45 PM) An error occurred when the request was processed on the remote computer. An error was encountered when processing operation 'Create File' on 'Castle.Windsor.dll'. The error code was 0x80070020. The process cannot access 'E:\approot\bin\Castle.Windsor.dll' because it is being used by another process.

I've RDP'd into the role instance and using process explorer I see that WAIISHost has a lock to a number of assemblies that my project references.

I haven't been able to determine what is causing those files to be locked.

thanks, jason

azure
castle-windsor
webdeploy
nancy
asked on Stack Overflow Jun 26, 2012 by Jason • edited Jun 27, 2012 by Jason

1 Answer

2

Web Deploy is not for use in a production environment. (described here)

WaIisHost.exe is the role hose process for full IIS web role so when your web role starts, your role DLL is loaded in this process. During the life of your webrole the role dll is loaded in the host process and can not be changed. As Castle.Windsor.dll is in E:\approot\bin* where role specific DLL are located, the host process has this binary loaded in it.

If you want to update your web role you would need to, you the Windows Azure Upgrade option either from portal or from powershell.

answered on Stack Overflow Jun 26, 2012 by AvkashChauhan

User contributions licensed under CC BY-SA 3.0