4.0.0
版本发布时间: 2020-11-12 17:21:47
Cysharp/MagicOnion最新发布版本:6.1.4(2024-07-17 15:51:31)
The Beginning of the C-Core removal journey
We moved the gRPC library used by MagicOnion from the C-core to the C# implementation. MagicOnion server is built on ASP.NET Core and Kestrel for high performance in combination with .NET 5.0.
-
MagicOnion.Server
is now built on ASP.NET Core gRPC services.- gRPC C-core dependency has been removed completely in the server.
-
MagicOnion.Client
for .NET Standard 2.1 is now depends onGrpc.Net.Client
.- gRPC C-core is no longer needed on .NET Standard 2.1 (.NET Core 3.x, Xamarin, ...) platform.
Improvements
- Adopt .NET 5.0 (#366)
- Enable nullable reference type annotations (MagicOnion.Server)
Breaking changes
MagicOnion.Hosting
and MagicOnion-standalone server are now dropped
Use MagicOnion.Server
and ASP.NET Core instead of that.
In other words, MagicOnion server doesn't support non-.NET Core platform (e.g. .NET Framework, Unity, Mono ...).
Reorganize project structure
The server/client monolithic package has been decoupled.
-
MagicOnion
: Meta package forMagicOnion.Server
andMagicOnion.Client
-
MagicOnion.Client
: MagicOnion client library for .NET Standard 2.0/2.1 -
MagicOnion.Client.Unity
: MagicOnion client library for Unity 2018 or later (The codes are shared withMagicOnion.Client
) -
MagicOnion.Server
: MagicOnion server library for ASP.NET Core 3.1 -
MagicOnion.Server.HttpGateway
: Swagger extension for MagicOnion.Server -
MagicOnion.Server.Redis
: Redis extension for MagicOnion.Server -
MagicOnion.Server.OpenTelemetry
: OpenTelemetry extension for MagicOnion.Server (experimental) -
MagicOnion.Server.Authentication
: Authentication extension for MagicOnion.Server (preview) -
MagicOnion.Shared
: Shared internal utilities for the client and server.
Use IMagicOnionClientLogger
instead of Grpc.Core.Logging.ILogger
Grpc.Core.Logging.ILogger
API is part of C-core library.
Remove DefaultGroupRepositoryFactory
If you are using MagicOnion.Redis, use UseRedisGroupRepository(Action<RedisGroupOptions> configure, bool registerAsDefault = false)
instead.
services.AddMagicOnion()
.UseRedisGroupRepository(options =>
{
options.ConnectionMultiplexer = StackExchange.Redis.ConnectionMultiplexer.Connect("localhost:6379");
});
// If you want to use Redis backplane by default, you can specify `registerAsDefault: true`.
services.AddMagicOnion()
.UseRedisGroupRepository(options => { ... }, registerAsDefault: true);
1、 MagicOnion.Client.Unity.unitypackage 150.6KB
2、 moc.4.0.0.zip 65.27MB