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
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET