We have added the Olap Client to one of our web applications. While developing we noticed that the WCF service handling the transactions with the component would go into hibernation after 15 minutes of not being used. Depending on the machine it would take up to 5 minutes to bring it back up. After doing some reading we added the 'receiveTimeout=0' attribute to our config file. This fixed the issue on our local environments.
<webHttpBinding>
<binding name="http" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="Streamed" receiveTimeout="0">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None" />
</binding>
</webHttpBinding>
We are still having issues in our production environment. The service goes into hibernation approximately 24 hrs. after its last interaction. In production it takes up to 10 minutes to bring it back and it consumes the entire processor. This means that for 10 minutes none of our users can access our application. Even worse, the services takes longer on every consecutive time it is brought back from hibernation which is forcing us to re-start the server twice a week.
Is there a way to prevent the WCF service from going to sleep or is there any suggestion or work around to avoid this issue? We are intrigued on why the receiveTimeout attribute just delays the service going into hibernation but did not prevent it completely.