diff --git a/src/SwaggerProvider.DesignTime/Provider.OpenApiClient.fs b/src/SwaggerProvider.DesignTime/Provider.OpenApiClient.fs index 3fdb1fa2..9a23c179 100644 --- a/src/SwaggerProvider.DesignTime/Provider.OpenApiClient.fs +++ b/src/SwaggerProvider.DesignTime/Provider.OpenApiClient.fs @@ -52,9 +52,7 @@ type public OpenApiClientTypeProvider(cfg : TypeProviderConfig) as this = |> sprintf "%A" - match Cache.providedTypes.TryRetrieve(cacheKey) with - | Some(ty) -> ty - | None -> + let addCache() = let schemaData = match schemaPathRaw.StartsWith("http", true, null) with | true -> @@ -88,8 +86,8 @@ type public OpenApiClientTypeProvider(cfg : TypeProviderConfig) as this = ty.AddMembers tys tempAsm.AddTypes [ty] - Cache.providedTypes.Set(cacheKey, ty) ty + Cache.providedTypes.GetOrAdd(cacheKey, addCache) ) t do