Configuration Net核心在多个API之间共享公共服务注册
我正在构建一个基于微服务体系结构的应用程序。 目前,我有两个WebApi项目,需要一种方法在它们之间共享公共服务注册。 我的意思是。。。对于我添加到解决方案中的每个WebApi项目,我必须在Startup.cs中重新注册所有公共服务。 服务,例如:Configuration Net核心在多个API之间共享公共服务注册,configuration,microservices,asp.net-core-webapi,Configuration,Microservices,Asp.net Core Webapi,我正在构建一个基于微服务体系结构的应用程序。 目前,我有两个WebApi项目,需要一种方法在它们之间共享公共服务注册。 我的意思是。。。对于我添加到解决方案中的每个WebApi项目,我必须在Startup.cs中重新注册所有公共服务。 服务,例如: 全局错误处理中间件 日志记录配置 路由设置 appSettings.json配置 等等 有没有一种方法可以集中这些常见的东西,使它们成为我所有WebApi项目的全局对象?要以最少的重复代码添加服务,一种解决方案可以是在共享ASP.NET核心项目中
- 全局错误处理中间件
- 日志记录配置
- 路由设置
- appSettings.json配置 等等
有没有一种方法可以集中这些常见的东西,使它们成为我所有WebApi项目的全局对象?要以最少的重复代码添加服务,一种解决方案可以是在共享ASP.NET核心项目中创建一个静态类,该类具有每个API项目引用的扩展方法,类似于:
public static IServiceCollection AddCommonServices(this IServiceCollection services, IConfigurationSection myOptions)
{
services.AddService1()
.AddLogging()
.Configure<MyOptions>(myOptions)
...
services.AddMvc();
return services;
}
对于
配置
方法以及使用服务,您也可以执行类似的操作。谢谢
public void ConfigureServices(IServiceCollection services)
{
services.AddCommonServices(Configuration["MyOptions"]);
}