Può servire in molte occasioni avere un server web *senza* installare IIS e senza dover fare hosting di ASP.NET, ma di avere un “plain vanilla” server Http, che risponda direttamente alle chiamate socket, che sia facilmente estendibile con dei moduli custom, semplice ed affidabile. Su codeplex si trova C# WebServer , il deploy nella situazione minimale consta di una sola dll ( che bellezza ! ), e metterlo in funzione si fa con un paio di righe di codice:
1: class Program
2: { 3: static void Main(string[] args)
4: { 5: // create a server.
6: var server = new Server();
7:
8: // same as previous example.
9: server.Resources.Add(new FileResources("/", Environment.CurrentDirectory + "\\files\\")); 10: server.Add(new FileModule(server.Resources, false));
11:
12: // use one http listener.
13: server.Add(HttpListener.Create(IPAddress.Any, 8085));
14:
15: // add our own module.
16: server.Add(new Streamer());
17:
18:
19: // start server, can have max 5 pending accepts.
20: server.Start(5);
21:
22: Console.ReadLine();
23: }
24: }
La ridotta esigenza di dipendenze ne fa uno strumento ideale per arricchire di UI le applicazioni “service” che andiamo a scrivere.