HttpServerLib 1.0.2
dotnet add package HttpServerLib --version 1.0.2
NuGet\Install-Package HttpServerLib -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HttpServerLib" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HttpServerLib" Version="1.0.2" />
<PackageReference Include="HttpServerLib" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HttpServerLib --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: HttpServerLib, 1.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HttpServerLib@1.0.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HttpServerLib&version=1.0.2
#tool nuget:?package=HttpServerLib&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
一个简单的Http服务器
使用方法
1.编写一个监听注册类或函数,在其中设置监听端口,并且注册http回调
class HttpService
{
public HttpService()
{
}
public void Start()
{
var http = new HttpServerHandlerManager(this);
http.CreateInstance(IPAddress.Parse("0.0.0.0"), 8080);
// 注册程序集下所有http函数
http.RegisterHandler(Assembly.GetEntryAssembly());
// 注册当前目前下的文件,响应到/static的path下,比如/static/index.html,将返回当前目录下的index.html
http.RegisterDirectory("/static", "./");
Console.WriteLine("Start listening at http://0.0.0.0/8080");
}
HttpServerHandlerManager http = null;
public void Stop()
{
http?.Release();
}
}
2.编写一个继承于HttpServerHandlerBase的类,在类中设置path和回调响应函数,每个类需要添加HttpGet或HttpPost,否则回调将无法响应类成员的变量指定HttpField属性,与http请求的参数映射
[HttpGet]
class HelloWorld : HttpServerHandlerBase
{
public override string Raw => "/hello";
[HttpField("name")]
public string Name { get; set; }
public override Task<string> Exec(object state)
{
return Task.FromResult("hello " + Name);
}
}
3.在Main中启动Http服务器
static void Main(string[] args)
{
HttpService http = new HttpService();
http.Start();
while(true)
{
if (Console.ReadLine() == "q")
{
break;
}
}
http.Stop();
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.