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]