c#如何实现一个简单的webserver

avatar
作者
筋斗云
阅读量:0

在C#中,你可以使用HttpListener类来实现一个简单的Web服务器。以下是一个基本的示例:

  1. 首先,确保你的项目中引用了System.Net.Http命名空间。
  2. 然后,创建一个新的HttpListener实例,并设置监听的端口。
  3. HttpListener添加请求处理程序。
  4. 开始监听,并处理收到的请求。
  5. 最后,停止监听。

以下是一个简单的Web服务器实现:

using System; using System.Net; using System.Net.Http; using System.Threading;  namespace SimpleWebServer {     class Program     {         static void Main(string[] args)         {             // 设置监听的端口             int port = 8080;             Uri uri = new Uri($"http://localhost:{port}/");              // 创建一个新的HttpListener实例             HttpListener httpListener = new HttpListener();              // 将URI添加到监听器             httpListener.IgnoreSecurityMessages = true;             httpListener.Request及时处理Callback = OnRequestReceived;             httpListener.AddUri(uri);              // 开始监听             Console.WriteLine($"Starting server on {uri}");             httpListener.Start();              // 等待请求             Console.WriteLine("Press 'Enter' to stop the server...");             Console.ReadLine();              // 停止监听             httpListener.Stop();             Console.WriteLine("Server stopped.");         }          static void OnRequestReceived(HttpListenerContext context)         {             // 获取请求的URI             string requestUri = context.Request.Url.LocalPath;              // 创建一个新的响应对象             HttpResponse response = context.Response;              // 设置响应的状态码和内容类型             response.StatusCode = HttpStatusCode.OK;             response.ContentType = "text/html";              // 写入响应内容             using (var writer = new System.IO.StreamWriter(response.OutputStream))             {                 writer.WriteLine("<html><head><title>Simple Web Server</title></head>");                 writer.WriteLine("<body><h1>Hello, World!</h1></body>");                 writer.WriteLine("</html>");             }              // 关闭响应             response.Close();         }     } } 

这个简单的Web服务器将监听8080端口,并在根目录下提供一个HTML页面。你可以根据需要修改OnRequestReceived方法来处理不同的请求和路径。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!