Probleem
Krijg je op de DWEX 5 portal de volgende foutmelding:


The requested service, 'http://SERVER:81/LicenseService.svc' could not be activated


Oorzaak

Een van de oorzaken is een instelling van de "DWEX Application services" - deze eist standaard dat de machine 5% van het geheugen vrij heeft en weigert pagina's te serveren als dat niet zo is(Dat is een standaard .NET instelling). Bij een machine van 16/32Gb is dat 0.8/1.6Gb geheugen wat echt overdreven veel is om vrij te houden. Zeker als je SQL server op dezelfde machine hebt draaien hoeft dit niet beschikbaar te zijn.


Hoe identificeer je dat dit probleem speelt?


Wanneer je op de server van de application services naar het adres http://SERVER:81/LicenseService.svc gaat, zie je ook al de foutmelding dat het om  5% van het geheugen gaat. 


In de eventlog van de server vind je een melding die hier op lijkt.


WebHost failed to process a request. Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/12547953 Exception: System.ServiceModel.ServiceActivationException: The service '/LicenseService.svc' cannot be activated due to an exception during compilation. The exception message is: Memory gates checking failed because the free memory (162803712 bytes) is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element.. ---> System.InsufficientMemoryException: Memory gates checking failed because the free memory (162803712 bytes) is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element. at System.ServiceModel.Activation.ServiceMemoryGates.Check(Int32 minFreeMemoryPercentage, Boolean throwOnLowMemory, UInt64& availableMemoryBytes) at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CheckMemoryCloseIdleServices(EventTraceActivity eventTraceActivity) at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) --- End of inner exception stack trace --- at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath, EventTraceActivity eventTraceActivity) Process Name: w3wp Process ID: 12752


Oplossing

  1. Open het bestand Services\web.config in de DWEX Portal Application Services installatie map. (Bij een default installatie: C:\Program Files\CNS International\DWEX Portal Application Services\Services\web.config)
  2. Voeg de volgende tag toe binnen de <system.serviceModel> tag. <serviceHostingEnvironment minFreeMemoryPercentageToActivateService="0" /> Zie deze pagina voor details omtrent deze tag: http://msdn.microsoft.com/en-us/library/ms731336(v=vs.110).aspx. Let op: het kan zijn dat binnen de <system.serviceModel> tag al een <serviceHostingEnvironment> tag bestaat. In dat geval moet minFreeMemoryPercentageToActivateService="0" daarbinnen worden toegevoegd.
  3. Daarna moet je een IISReset uitvoeren op de machine waar de Application Services op draait en de machine waar sharepoint op draait. (anders blijft de portal een foutmelding uit de cache ophalen)