コード例 #1
0
        private static void AddMetadataService <TService>(this IFido2NetLibBuilder builder) where TService : class, IMetadataService
        {
            builder.Services.AddSingleton <TService>();

            //Use factory method and concrete type registration so we can do the initialisation in here automatically
            builder.Services.AddSingleton <IMetadataService>(r =>
            {
                var service = r.GetService <TService>();
                service.Initialize().Wait();
                return(service);
            });
        }
コード例 #2
0
        public static void AddCachedMetadataService(this IFido2NetLibBuilder builder, Action <IFido2MetadataServiceBuilder> configAction)
        {
            builder.AddMetadataService <DistributedCacheMetadataService>();

            configAction(new Fido2NetLibBuilder(builder.Services));
        }
コード例 #3
0
        private static IFido2NetLibBuilder AddClient <TClient>(this IFido2NetLibBuilder builder) where TClient : class, IMetadataRepository
        {
            builder.Services.AddTransient <IMetadataRepository, TClient>();

            return(builder);
        }