in

DĂ© specialist in .NET trainingen en consultancy

Jo-wen Mei

De standaard waardes van ServiceHost zijn laag!

Als je in WCF je service direct host, is het verstandig om je ServiceHost zorgvuldig te configureren. De standaard waarden staan nogal "laag" ingesteld.

Bijvoorbeeld: standaard kan je bijvoorbeeld maar 10 clients tegelijkertijd ondersteunen. Als dit onvoldoende is, kan je deze aanpassen mbv ServiceThrottling. Ik zal meteen de code geven:

 

public static void SetServiceHostThrottle(ServiceHost host)

{

ServiceThrottlingBehavior throttle = host.Description.Behaviors.Find<ServiceThrottlingBehavior>();

if (throttle == null)

{

     throttle = new ServiceThrottlingBehavior();

     throttle.MaxConcurrentCalls = 1000;

     throttle.MaxConcurrentInstances = 1000;

     throttle.MaxConcurrentSessions = 1000;

     host.Description.Behaviors.Add(throttle);

     host.CloseTimeout = TimeSpan.FromSeconds(1);

}

}

 

De keuze voor deze waarden is overigens wel logisch, want hiermee wordt de beveiliging verhoogd. Het is bijvoorbeeld een stuk lastiger om zo een DoS attack op je dak te krijgen (meer info). Dus zet de waarden ook weer niet te groot.

Moraal van het verhaal: als dingen niet meer werken, denk dan aan de lage standaard waardes!

Published nov 22 2007, 09:45 by Jo-wen
Filed under:

Comments

No Comments