65.9K
CodeProject 正在变化。 阅读更多。
Home

TinyWeb:C# 中的一个简单 Web 服务器

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.96/5 (17投票s)

2019 年 8 月 29 日

CPOL

1分钟阅读

viewsIcon

57123

downloadIcon

2084

一个简单的家庭 HTTP 服务器,可在所有 .NET 平台上运行

 

注意: 此项目一次只能处理一个请求。 尝试这个替代方案。它更好: Tiny Web Server Take 2

引言

目前,.NET 启用的 Web 服务器的提供方式依赖于平台,并且体积庞大,旨在用于可扩展的站点。 它们通常具有大量功能和许多配置。 最简单的提供方式,http.sys,仅适用于 Windows。

此 Web 服务器的目的是为家庭网络或连接频率相对较低且用户受信任的另一种场景提供一个小型、有限的可扩展性服务器。

它可以在任何 .NET 平台上运行,并且其基于组件的 API 操作简单。只需将其拖放到窗体或服务组件上,连接事件并设置属性即可。 除了要侦听的本地终结点之外,没有零配置。

Using the Code

使用代码非常简单

using TinyWeb;
using System.Net;
...
var webServer = new WebServer(); 
webServer.ProcessRequest += new ProcessRequestEventHandler(webServer_ProcessRequest);
webServer.EndPoint = new IPEndPoint(IPAddress.Any,8080);
webServer.IsStarted = true;
...
void webServer_ProcessRequest(object sender, ProcessRequestEventArgs args)
{
    var r = args.Response;
    r.ContentType = "text/html";
    r.WriteLine("<html><h1>Hello World!</h1></html>");
}

Request 具有获取标头、查询字符串以及请求/发布流的方法。 Response 具有设置响应标头和写入响应流的方法。

关注点

SocketUtility 包含许多其他用于处理套接字的方法,尤其是异步套接字通信,包括为主要的套接字操作公开可等待的方法。

历史

  • 2019 年 8 月 28 日 - 初始提交
© . All rights reserved.