使用Autofac 依赖注入及 swagger 之startup配置
2024-08-22 19:57:11
言语有限,代码如下;
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();
}
最新文章
- 基于react实现无限分级菜单
- 【Java每日一题】20161212
- [原创]在使用SDK 23(6.0)版本后org.apache.http相关的类找不到的解决办法
- socket传数据并记录到文件中
- [CareerCup] 10.6 Find Duplicate URLs 找重复的URL链接
- 聊聊HTTPS和SSL_TLS协议
- WEB可用性、可访问性、可维护性
- Linux系统下查看某文件修改的时间戳
- 【转】SQL Server查询字段说明
- 迭代器Iteration
- Redhat7.3更换CentOS7 yum源
- zookeeper 图形化的客户端工具:ZooInspector
- 帆软:不使用 __parameters__ 传参,问题。
- django,flask接口初试
- SSL和TLS协议的区别
- PSP个人项目耗时对比记录表:四则运算
- get_class_vars
- 本地如何搭建IPv6环境测试你的APP(转)
- sqlserver学习2---java执行存储过程
- Cocos2d-x中使用第三方so库