Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O tipo de opções do ASP.NET Core SignalR MessagePack Hub Protocol foi alterado de IList<MessagePack.IFormatterResolver> para o tipo de da biblioteca MessagePackSerializerOptions.
Para discussão sobre essa alteração, consulte dotnet/aspnetcore#20506.
Versão introduzida
5.0 Prévia 4
Comportamento antigo
Você pode adicionar às opções conforme mostrado no exemplo a seguir:
services.AddSignalR()
.AddMessagePackProtocol(options =>
{
options.FormatterResolvers.Add(MessagePack.Resolvers.StandardResolver.Instance);
});
E substitua as opções da seguinte forma:
services.AddSignalR()
.AddMessagePackProtocol(options =>
{
options.FormatterResolvers = new List<MessagePack.IFormatterResolver>()
{
MessagePack.Resolvers.StandardResolver.Instance
};
});
Novo comportamento
Você pode adicionar às opções conforme mostrado no exemplo a seguir:
services.AddSignalR()
.AddMessagePackProtocol(options =>
{
options.SerializerOptions =
options.SerializeOptions.WithResolver(MessagePack.Resolvers.StandardResolver.Instance);
});
E substitua as opções da seguinte forma:
services.AddSignalR()
.AddMessagePackProtocol(options =>
{
options.SerializerOptions = MessagePackSerializerOptions
.Standard
.WithResolver(MessagePack.Resolvers.StandardResolver.Instance)
.WithSecurity(MessagePackSecurity.UntrustedData);
});
Motivo da mudança
Esta alteração faz parte da mudança para o MessagePack v2.x, que foi anunciado em aspnet/Announcements#404. A biblioteca v2.x adicionou uma API de opções que é mais fácil de usar e fornece mais recursos do que a lista de MessagePack.IFormatterResolver que foi exposta anteriormente.
Ação recomendada
Esta alteração crítica afeta todos os que estão a configurar valores no MessagePackHubProtocolOptions. Se você estiver usando o ASP.NET Core SignalR MessagePack Hub Protocol e modificando as opções, atualize seu uso para usar a nova API de opções, conforme mostrado acima.