Reputation: 13501
If I deploy a WCF service will it interrupt the service? I am deploying to IIS, and my deployment is to copy over the dlls, web.config, svc, etc manually using windows explorer.
So I copy over the files, what happens after that? Does the app pool recycle? Does anything need to be recompiled (i.e. slowing it down)?
The service runs with no session state, so if the app pool recycles I don't care as long as the requests are not interrupted.
Upvotes: 4
Views: 570
Reputation: 42669
From my experience on ASP.Net the app virtual directory is monitored for some specific file changes. I believe the application gets restarted whenever any of the monitored files\directories changed. From ASP.Net experience changing of web.config and files under the bin directory causes application reload\restart. I think the same should happen with WCF. You need to do a POC to verify this.
Upvotes: 1
Reputation: 20860
If the service has been in use and the old dlls have been loaded, you will need to recycle the app pool before the new dlls will be used - until then the old dlls stay in memory.
While there will be no recompilation resulting from the app pool recycle, the first caller to your service will experience a slight delay while necessary dlls are loaded into memory.
You can easily prevent this first call delay by calling into your service immediately after the recycle. This way the only way a user will experience a delay is if they are making the service call at the same time as you are deploying (and beat you to the first call) - but the delay will be minimal.
Upvotes: 3