public interface IMyservices { /// <summary> /// 获取Guid /// </summary> /// <returns>Guid</returns> string GetGuid(); }
2.实现接口:
public class MyServices:IMyservices { private readonly string guid; public MyServices() { this.guid = Guid.NewGuid().ToString(); } public string GetGuid() { return guid; } }
3.将服务注入到容器:
Startup->ConfigureServices中调用:
services.AddTransient<IMyservices, MyServices>();
4.使用:
webApi中默认的控制器中添加:
启动项目:
Try一下成功调用了我们注入的服务的方法
其他:
为了方便管理与简洁
我们可以写一个扩展方法将相关的服务在此扩展方法中注入
public static class AddServicesExtebsuins { public static IServiceCollection AddMyServices(this IServiceCollection services) { services.AddTransient<IMyservices, MyServices>();//多例 return services; } }
Startup->ConfigureServices中调用:
services.AddMyServices();
即可注入我们AddMyServices中注入的所有服务了
原文:https://www.cnblogs.com/lbonet/p/14635513.html