1

Hi,

I have a complexed layered WCF service, it is really containing 4 different services where 3 is using regular BasicHTTPBinding and the last one netTCPBinding.

Here is som facs :

  1. Loading data on startup
  2. Never recycle or restart (running 24/7)
  3. 5000 windows clients
  4. Callbacks to keep clients up to date
  5. Caching data for faster response
  6. Custom login with both userPassword and active directory
  7. Message inspectors
  8. Possible to host multiple instances of this service(that contains 4 services) on the same computer
  9. Using profobuf for WCF on the TCP service to gain performance
  10. No compression of data
  11. Active Directory communication
  12. Certificates
  13. Custom/Regular Performance counters

This service have been hosted in IIS7 for a while but to remove the WAS overhead and gain performance I have now also created a Windows Service to host it in.

But I got a couple of questions :

  1. Will WCF be fully functional, for example crashes throttling?
  2. How do I handle if the service craches? I need it to restart as fast as possible
Banshee
  • 15,376
  • 38
  • 128
  • 219
  • 2
    How much WAS overhead did you measure? How much did perf improve after switching to a Windows service? – usr Sep 28 '12 at 15:09
  • 1
    You just configure the Service to restart. See the Recovery tab. – paparazzo Sep 28 '12 at 15:09
  • @usr > I setup 6 clients that sended light requests to the service as fast as possible and the gain over 15 min was 20%. BUT if we use hard numbers we got around 00:00:00.31 per call with IIS and 00:00:00.24 with selfhost. I did not get around to test larger packages but I the diffrence would probably be alot less there. – Banshee Sep 28 '12 at 15:22
  • @Blam > So you mean if the service is craching I can set the Windows service to restart automatically? – Banshee Sep 28 '12 at 15:23
  • Take one step further and use HttpListener :) – L.B Sep 28 '12 at 16:00
  • @SnowJim like [this](http://stackoverflow.com/questions/10017564/url-mapping-with-c-sharp-httplistener) – L.B Oct 01 '12 at 06:49

1 Answers1

0

In Services right click the service and select Properties. The second is a Recovery tab with lots of options. There are going to be some hangs the Services doesn't catch to Recover. But it should sense a crash.

paparazzo
  • 44,497
  • 23
  • 105
  • 176