EmbedIO - 一个微小、跨平台、模块化的web服务器基于Mono开发
EmbedIO - 一个微小、跨平台、模块化的web服务器基于Mono开发Upgraded codebase to C# 8.0. We are not using .NET Standard 2.1 yet.
Also, fixed issue #351
Assets
2
Change some Info level logs to Debug
Assets
2
This version hides some internal classes and methods like WebSocket
and mark with Obsolete
attribute classes, methods and properties that will be dropped or replaced in the new major version.
Assets
2
geoperez released this
- Global Exception Handler was added as propose issue #300. For example, if you want to remove the default HTML error response, you can add a function to the
UnhandledException
property atIWebServer
:
using (var server = new WebServer(webOptions))
{
// Report to console the error only
server.UnhandledException = (ctx, ex, ct) => {
ex.Message.Error(nameof(WebServer));
ctx.Response.StatusCode = 500;
return Task.FromResult(true);
};
// Continue with WebServer start up
}
- The MIME Types Dictionary was reverted to plain Dictionary to allow add new entries (Issue #302)
Assets
2
geoperez released this
Some extensions methods, properties, and classes are marked as Obsolete
because they are no longer part of the next major version of EmbedIO. One important breaking change is we are no longer supporting Wildcard routing so we encourage to change your code to Regex routing.
Also, this version includes a subprotocol selector for WebSocket
#285.
Assets
2
Fix issue with SWAN JSON issues updating this dependency.
Assets
2
2.7.2 Code Style
Assets
2
Assets
2
- Support to IPv6 (Issue #214)
You can setup IPv6 in two ways:
Using new EndPointManager.UseIpv6 will set IPAddress.IPv6Any for * hostname:
EndPointManager.UseIpv6 = true;
var instance = new WebServer("http://*:8877");
Or directly using the IPv6 address like the lookback:
var instance = new WebServer("http://[::1]:8877");
- Fix WebSocket client for targets NET47 and NETCOREAPP21
- Remove
Task.Delay
from polling (Issue #155) - Add
ConfigureAwait(false)
to async invocations.
Assets
2
Breaking changes
WebApiController
is renewed. Reduce the methods overhead removing the WebServer and Context arguments. See examples below.RoutingStrategy.Regex
is the default routing scheme.
Additional changes
IHttpListener
is runtime/platform independent, you can choose UnosquareHttpListener
implementation with NET47 or NETSTANDARD20. This separation of implementations brings new access to interfaces from common Http objects likeIHttpRequest
,IHttpContext
and more.IWebServer
is a new interface to create custom web server implementation, like a Test Web Server where all the operations are in-memory to speed up unit testing. Similar to TestServer from OWIN- General improvements in how the Unosquare
HttpListner
is working and code clean-up.
Note - We encourage to upgrade to the newest EmbedIO version. Branch version 1.X will no longer be maintained, and issues will be tested against 2.X and resolved just there.
Release 1.14.0
geoperez released this
Add new Resources File Module by @nickhodge.
Release 1.13.0
geoperez released this
- Change dependency SWAN to Lite version
- Upgrade codebase to C# 7.1
Release 1.12.0
geoperez released this
Watchers:56 |
Star:751 |
Fork:97 |
创建时间: 2014-03-18 01:17:07 |
最后Commits: 5天前 |
许可协议:View license |
aa196a7
BREAKING CHANGE
Change Two behavior settings to default value
true
(Only EmbedIO HttpListener):EndPointManager.UseIpv6
- By default wildcard will bind toIPAddress.IPv6Any
.HttpListener.IgnoreWriteExceptions
- By default will ignore the exceptions on Response Output Write (this was the default behavior in v2).