zoukankan      html  css  js  c++  java
  • 使用Autofac 依赖注入及 swagger 之startup配置

    言语有限,代码如下;

     public IServiceProvider ConfigureServices(IServiceCollection services)
            {
                services
                   .AddCors()
                   .AddMvc();
                JsonConvert.DefaultSettings = () => new JsonSerializerSettings
                {
                    ContractResolver = new CamelCasePropertyNamesContractResolver()
                };
    
                //services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
                services.AddSwaggerGen(option =>
                {
                    option.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
                    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                    option.IncludeXmlComments(xmlPath);
                });
               
                var builder = new ContainerBuilder();
                //Register your own services within Autofac
                var selfServices = Assembly.Load("WuMing.Service");
                //Assembly.LoadFile(Path.Combine(HostingEnvironment.WebRootPath, "AUO.SmartCaring.Service.dll"));
                builder.RegisterAssemblyTypes(selfServices).AsImplementedInterfaces();
                var selfRepos_Repo = Assembly.Load("WuMing.Repository");
                //Assembly.LoadFile(Path.Combine(HostingEnvironment.WebRootPath, "AUO.SmartCaring.Repository.dll"));
                builder.RegisterAssemblyTypes(selfRepos_Repo).AsImplementedInterfaces();
                var selfEntity_Repo = Assembly.Load("WuMing.Entity");
                //Assembly.LoadFile(Path.Combine(HostingEnvironment.WebRootPath, "AUO.SmartCaring.Repository.dll"));
                builder.RegisterAssemblyTypes(selfEntity_Repo).AsImplementedInterfaces();
                var selfapi_Repo = Assembly.Load("WuMing.Interface");
                //Assembly.LoadFile(Path.Combine(HostingEnvironment.WebRootPath, "AUO.SmartCaring.Repository.dll"));
                builder.RegisterAssemblyTypes(selfapi_Repo).AsImplementedInterfaces();
                // //Put the framework services into Autofac
                builder.Populate(services);
    
                //Build and return the Autofac collection
                this.ApplicationContainer = builder.Build();
    
                return new AutofacServiceProvider(this.ApplicationContainer);
    
            }
    

      

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
                app.UseErrorHandling();
                app.UseSwagger();
    
                // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), 
                // specifying the Swagger JSON endpoint.
                app.UseSwaggerUI(c =>
                {
                    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
                });
                app.UseCors(builder =>
               builder
               .AllowAnyOrigin()
               .AllowAnyHeader()
               .AllowAnyMethod()
               );
                app.UseMvc();
            }
    

      

  • 相关阅读:
    Sqoop的导入及可能遇到的问题
    Docker搭建MongoDB集群(副本分片)
    微信小程序框架部署:mpvue+typescript
    关系型数据库与非关系型数据库
    PWA 学习笔记(五)
    PWA 学习笔记(四)
    PWA 学习笔记(三)
    PWA学习笔记(二)
    PWA 学习笔记(一)
    部分设计模式对比分析
  • 原文地址:https://www.cnblogs.com/yanwuming/p/10463306.html
Copyright © 2011-2022 走看看