m2net helps you develop Mongrel2 handlers. It also comes with a rough port of the Cassini ASP.NET web server to use m2net instead of sockets.
Since this library and Mongrel2 were released in 2010, a lot has changed in both the webserver world and the .NET world. On the webserver side, it does not appear that Mongrel 2 has become popular. Nginx and HA Proxy instead continue to be popular for the role of proxying HTTP requests. Cloud-based load balancers and Kubernetes ingress controllers have also become popular solutions. And gRPC and HTTP/2 changed how web APIs are defined. So even if this library were rewritten to modern .NET standards (see below why it would be a re-write), I don't believe there will be an audience to use it.
On the .NET side, the landscape has radically changed. async
/await
changes
the way APIs are designed. .NET Core made .NET available cross platform.
Span<T>
and System.Text.Json
changed the way parsers are written.
And ASP.NET Core changed how a web servers hosts ASP.NET apps.
So a total write of this library on completely new dependencies would be
required to be relevant for 2023's .NET.
As an aside, one part of this library does live on: the NetString implementation formed the basis of an RPC library that is used in several wafer handling robots . It has probably touched the chips running in your server.
The library is available on Nuget.
- .NET Framework 4.0 x64
- clrzmq
- Jayrock.JSON
m2net is licensed under the 3-clause BSD License. m2net.asp is licensed under the Microsoft Public License, since it is derived from Cassini.
- Only works with x64 .NET apps on Windows.