Posts

Showing posts from May, 2009

WCF - inheriting from a common interface

At work I have a few dozen (and will at some point get to hundreds) workflows with the same structure: [XmlSerializerFormat]   [ServiceContract(Namespace =  "http://schema.company.com/messages/" )]   public   interface  IBasicContract<TRequest, TResponse>     where TRequest :  class      where TResponse :  class    {     [XmlSerializerFormat]     [OperationContract(Name =  "GetReport" ,       Action =  "http://schema.company.com/messages/GetReport" ,       ReplyAction =  "http://schema.company.com/messages/GetReportResponse" )]     [ServiceKnownType( typeof  (Aggregate))]     TResponse GetReport(TRequest inquiry);        [XmlSerializerFormat]     [OperationContract(Name =  "GetRawReport" ,       Action =  "http://schema.company.com/messages/GetRawReport" ,       ReplyAction =  "http://schema.company.com/messages/GetRawReportResponse" )]      string  GetRawReport( string  guid);        [XmlSerializerFormat]     

Multi-threaded server

Image
This is a reply to this question on stackoverflow . Many people "feel" that allocating a thread per socket is a bad idea. This might be true for 10,000 sockets, I don't know; however, for 300 threads which are idle most of the time, this is really not an issue - and hasn't been in Windows since at least Windows 2000. Here's how this would look on my system: I am going to put the code in the answer to the stackoverflow question; this is just a placeholder for the above image, mostly :)