天天看點

C# .NET 搭建簡易 Http server

要完成高性能的Web服務功能,通常都是需要用到服務,如:IIS、Apache、Tomcat和Nginx,但是衆所周知的Web伺服器配置的複雜性,如果我們隻是需要一些簡單的功能,安裝這些元件看起來就沒多大必要。我們需要的是一個簡單的HTTP類,可以很容易地嵌入到簡單的Web請求的服務,加到自己的程式裡。

.net

 架構下有一個簡單但很強大的類 

System.Net.HttpListener

。這個類幾行代碼就能完成一個簡單的伺服器功能。

HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://localhost:8081/");
listener.Start();
Console.WriteLine("Listening...");
Task task = Task.Factory.StartNew(() => {
	while(listener.IsListening)
	{
		HttpListenerContext context = listener.GetContext();
		Console.WriteLine("Http requesting...");
		HttpListenerRequest request = context.Request;
		HttpListenerResponse response = context.Response;
		Console.WriteLine("Http responseting...");
		string responseString = "<html><title>Http server in C#</title><body><p>Hello world!</p></body></html>";
		using (StreamWriter writer = new StreamWriter(response.OutputStream))
		{
			writer.WriteLine(responseString);
		}
	}
});
task.Wait();
           

結果

C# .NET 搭建簡易 Http server