diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cd6591..9f581d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,9 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ### Changed +- **request.dispatcher:** Reset type caches when reloading assemblies +- **request.validation:** Reset type caches when reloading assemblies + ### Removed [1.0.0]: https://code.geekeey.de/geekeey/request/releases/tag/1.0.0 diff --git a/src/request.dispatcher/RequestDispatcher.cs b/src/request.dispatcher/RequestDispatcher.cs index c4083bd..2acb426 100644 --- a/src/request.dispatcher/RequestDispatcher.cs +++ b/src/request.dispatcher/RequestDispatcher.cs @@ -20,6 +20,12 @@ internal sealed class RequestDispatcher : IRequestDispatcher _serviceProvider = serviceProvider; } + public static void ClearCache(Type[]? _) + { + ScalarRequestHandlers.Clear(); + StreamRequestHandlers.Clear(); + } + public Task DispatchAsync(IScalarRequest request, CancellationToken cancellationToken = default) { ArgumentNullException.ThrowIfNull(request); diff --git a/src/request.validation/DispatchingValidator.cs b/src/request.validation/DispatchingValidator.cs index fe43b6b..4fe7bff 100644 --- a/src/request.validation/DispatchingValidator.cs +++ b/src/request.validation/DispatchingValidator.cs @@ -22,6 +22,11 @@ internal sealed class DispatchingValidator : IValidator _serviceProvider = serviceProvider; } + public static void ClearCache(Type[]? _) + { + ValidatorsHandlers.Clear(); + } + public Validation Validate(ValidationContext context) { ArgumentNullException.ThrowIfNull(context);