SignalR: MessagePack 허브 프로토콜 옵션 형식이 변경됨
ASP.NET Core SignalR MessagePack 허브 프로토콜 옵션 형식이 IList<MessagePack.IFormatterResolver>
에서 MessagePack 라이브러리의 MessagePackSerializerOptions
형식으로 변경되었습니다.
이 문제에 관한 자세한 내용은 dotnet/aspnetcore#20506을 참조하세요.
도입된 버전
5.0 미리 보기 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
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기