Estoy empezando a ver WCF y me surge una duda. Estoy haciendo una aplicacion en 
donde cree varios Service Contracts para mantener cierto grado de cohesión en 
el diseño y no tener un Service Contract con infinitos Métodos. Asi es que por 
ejemplo, tengo un IRequisicionesService, un IMaterialesService, un 
IOrdenesDeCompraService, etc. cada uno con su respectiva implementación. Estuve 
viendo el codigo para hostar en una aplicación de consola (que es practicamente 
el mismo en todos los ejemplos que pude ver por ahi) y aca es donde surge mi 
duda...

Se que hosteando en IIS puedo hostear todos los Servicios en una sola 
aplicación por que ahi creo un .svc por ServiceContract. Pero para hostear en 
una aplicación de Consola  o en un Servicio Windows ¿Necesito crear un 
aplicación Host para cada uno de los ServiceContracts o se puede crear una sola 
aplicación que hostee todos Servicios?



El codigo del que hablo más arriba es este...

using System;
using System.Collections.Generic;

using System.Text;

using System.ServiceModel;

namespace WCFServiceConsoleHost {

class Program {

static void Main(string[] args) {

Type serviceType = typeof(DerivativesCalculatorServiceType);

string httpBaseAdress = ConfigurationManager.AppSettings["HTTPBaseAddress"];

string tcpBaseAdress = ConfigurationManager.AppSettings["TPCBaseAddress"];

Uri httpBaseAdressUri = new Uri(httpBaseAdress);

Uri tcpBaseAdressUri = new Uri(tcpBaseAdress);

Uri[] baseAdresses = new Uri[] { httpBaseAdressUri, tcpBaseAdressUri };

using (ServiceHost host = new ServiceHost(serviceType, baseAdresses)) {

host.Open();

Console.WriteLine("Servicio Corriendo");

Console.ReadLine();

host.Close();

}

}

}

}

Responder a