SignalR:MessagePack ハブ プロトコル オプションの種類を変更
ASP.NET Core SignalR MessagePack ハブ プロトコルのオプションの型が IList<MessagePack.IFormatterResolver>
から MessagePack ライブラリの MessagePackSerializerOptions
型に変更されました。
この変更のディスカッションについては、dotnet/aspnetcore#20506 を参照してください。
導入されたバージョン
5.0 Preview 4
以前の動作
次の例に示されているようにオプションを増やすことができます。
services.AddSignalR()
.AddMessagePackProtocol(options =>
{
options.FormatterResolvers.Add(MessagePack.Resolvers.StandardResolver.Instance);
});
次のようにオプションを置換してください。
services.AddSignalR()
.AddMessagePackProtocol(options =>
{
options.FormatterResolvers = new List<MessagePack.IFormatterResolver>()
{
MessagePack.Resolvers.StandardResolver.Instance
};
});
新しい動作
次の例に示されているようにオプションを増やすことができます。
services.AddSignalR()
.AddMessagePackProtocol(options =>
{
options.SerializerOptions =
options.SerializeOptions.WithResolver(MessagePack.Resolvers.StandardResolver.Instance);
});
次のようにオプションを置換してください。
services.AddSignalR()
.AddMessagePackProtocol(options =>
{
options.SerializerOptions = MessagePackSerializerOptions
.Standard
.WithResolver(MessagePack.Resolvers.StandardResolver.Instance)
.WithSecurity(MessagePackSecurity.UntrustedData);
});
変更理由
この変更は aspnet/Announcements#404 で告知した MessagePack v2.x への以降の一環です。 v2.x ライブラリで追加されたオプション API は使いやすく、以前に公開されていた MessagePack.IFormatterResolver
のリストより機能が多くなっています。
推奨アクション
この重大な変更は、MessagePackHubProtocolOptions で値を構成しているユーザーに影響します。 ASP.NET Core SignalR MessagePack ハブ プロトコルを使用しているとき、このオプションを変更する場合、上の画像のように新しいオプション API を使用するように使用状況を更新します。
影響を受ける API
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET