Nguon: Microsoft Learn · .NET 8.0

Thay đổi vi phạm: DefaultKeyResolution.ShouldGenerateNewKey có ý nghĩa thay đổi

Nguồn: DefaultKeyResolution.ShouldGenerateNewKey has altered meaning

DefaultKeyResolution.ShouldGenerateNewKey không còn phản ánh liệu default key có gần đến ngày hết hạn của nó hay không.

Phiên bản được giới thiệu

ASP.NET Core 9.0 Preview 3

Hành vi trước đây

Đây là một tính năng không có tài liệu, nhưng nhất quán của API: ShouldGenerateNewKeytrue nếu default key nằm trong khoảng hai ngày (đơn giản hóa) trước khi hết hạn. Lượng thời gian dẫn trước được dựa trên khoảng thời gian polling (kiểm tra định kỳ) của ICacheableKeyRingProvider, vốn không phải là điều mà IDefaultKeyResolver.ResolveDefaultKeyPolicy nên phụ thuộc vào (vì, ví dụ, các triển khai thay thế có thể sẽ không biết về những chi tiết này).

Hành vi mới

Bắt đầu từ .NET 9, nếu ShouldGenerateNewKeytrue, điều đó chỉ ra rằng không có default key hoặc vì một lý do chính sách nào khác (trong một triển khai chuyên biệt của IDefaultKeyResolver), một key mới nên được tạo ra. ICacheableKeyRingProvider tự đưa ra quyết định của mình về việc liệu thời gian hết hạn có đủ gần để đảm bảo tạo key mới hay không.

Loại thay đổi vi phạm

Thay đổi này là một behavioral change (thay đổi hành vi).

Lý do thay đổi

Thay đổi này được thực hiện vì hai lý do:

Hành động được khuyến nghị

Nếu bạn có một triển khai IDefaultKeyResolver cố gắng sao chép logic hết hạn, bạn có thể loại bỏ logic đó (tuy nhiên, để nó cũng không sao).

Nếu bạn đang tiêu thụ IDefaultKeyResolver trực tiếp để xác định liệu hết hạn có đang chờ xử lý hay không, bạn có thể kiểm tra trực tiếp thuộc tính ExpirationDate của default key.

Các API bị ảnh hưởng