NetworkError: 500 System.ServiceModel.ServiceActivationException after session timeout
I have a simple WCF service. It handles POST requests that returns a lookup table. It should be a GET service, but I don't want go into why it is not. I'm running this on IIS7 and from VS2010.
When the user session times out bad things happen. I have to go through hoops to get it work again. I do IISReset, restart browser, clear caches. To be honest, not really sure what "fixes" it. I've looked at fiddler nothing is standing out to me.
Can't really debug it, because it doesn't get to the service method. It seems to be choking in WCF framework layer.
Sometimes I get below. "System.IO.FileNotFoundException: Could not load file or assembly 'App_Web_kcbh0gdd, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified."
So I clean, build (without error) and restart.
Strangely this is the only service (that I know of) that does this and it is configured the same as the other services. At bottom are relevant pieces of web.config.
This is really annoying and scary.
I'm going to see if the Service Trace Viewer Tool will shed some light.
If anyone else has run into this or has any ideas, I'm all ears.
thx
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="Web.Administration.ProviderInformationSvcAspNetAjaxBehavior">
<enableWebScript />
</behavior>
....
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<service behaviorConfiguration="Default" name="Web.Administration.ProviderInformationSvc">
<endpoint address=""
behaviorConfiguration="Web.Administration.ProviderInformationSvcAspNetAjaxBehavior"
binding="webHttpBinding"
开发者_如何学JAVA bindingConfiguration="DefaultBindingConfig"
contract="Web.Administration.ProviderInformationSvc" />
</service>
If you have multiple projects, check the WCF assembly references and make sure they are the same version. It seems you are dealing with a timing issue during assembly load and if the system doesn't know which .dll(s) to use, it will guess.
精彩评论