Generalmente siamo abituati ad usare IIS come host application dei web services, usare COM+ per gli enterprise services ed usare applicazioni standard (windows forms, console, web e windows service) in ambito MSMQ, e così via. Con Indigo il tutto si unifica in un unico modello. Infatti, è sufficiente dichiarare un host generico (all'interno di qualsiasi applicazione o servizio) perchè si possa iniziare a ricevere ed inviare richieste (sul/sui canale/i deifiniti nel binding). Considerando l'esempio di ieri, si avrebbe:

ServiceHost<CalculatorService> host = new ServiceHost<CalculatorService>();
host.Open();
Console.WriteLine("Service is running. Press ENTER to exit...");
Console.ReadLine();
host.Close();

E' importante notare due aspetti: il primo è che non abbiamo bisogno di fornire informazioni sull'address, binding e contract in quanto sono state già fornite nel file di configurazione. Secondo che esistono due eccezioni al codice di cui sopra: IIS (Internet Information Services) e WAS (Windows Activation Services). In entrambe i casi