public static GenericBackendBuilder AddGenericBackend(this IServiceCollection services)
        {
#if !NETFX
            services.AddRouting();
#endif
            services.AddKullDatabaseMetadata();
            services.TryAddSingleton <Common.NamingMappingHandler>();
            services.TryAddSingleton <SwaggerGeneration.CodeConvention>();
            services.TryAddSingleton <Config.ConfigProvider>();
            services.TryAddTransient <ParameterProvider>();
            services.TryAddSingleton <GenericSP.MiddlewareRegistration>();
            services.TryAddTransient <Execution.CommandPreparation>();
#if NETFX || NETSTD
            services.AddTransient <IGenericSPSerializer, GenericSPJsonSerializerJsonNet>();
#else
            services.AddTransient <IGenericSPSerializer, GenericSPJsonSerializerSTJ>();
#endif
            services.AddTransient <SerializerResolver, SerializerResolver>();
            services.AddTransient <GenericSP.IGenericSPMiddleware, GenericSP.GenericSPMiddleware>();
            services.AddTransient <Error.IResponseExceptionHandler, Error.SqlServerExceptionHandler>();
            GenericSP.SPMiddlewareOptions?options = null;
            SwaggerFromSPOptions?         swaggerFromSPOptions = null;

            var opts = options ??
                       new GenericSP.SPMiddlewareOptions();
            services.TryAddSingleton(opts);
            services.TryAddSingleton(swaggerFromSPOptions ?? new SwaggerGeneration.SwaggerFromSPOptions());
#if NETFX
            services.AddTransient <Swashbuckle.Swagger.IDocumentFilter, DatabaseOperations>();
#endif
            return(new GenericBackendBuilder(services));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Integrates Unity when the application starts.
        /// </summary>
        public static void Start()
        {
            Container = Core.Ioc.Bootstrapper.Initialise();
            FilterProviders.Providers.Remove(FilterProviders.Providers.OfType <FilterAttributeFilterProvider>().First());
            FilterProviders.Providers.Add(new UnityFilterAttributeFilterProvider(Container));

            DependencyResolver.SetResolver(new UnityDependencyResolver(Container));

            // TODO: Uncomment if you want to use PerRequestLifetimeManager
            // Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule(typeof(UnityPerRequestHttpModule));
        }
Ejemplo n.º 3
0
 static DIHelper()
 {
     container = new Unity.UnityContainer();
 }