草庐IT

IServiceCollection

全部标签

c# - 使用 MVC 6 在 Web API 中找不到 IServiceCollection

我正在使用带有MVC6的WebAPI,在这里我要将存储库注入(inject)Controller,我们需要将其注册到DI容器。打开Startup.cs文件。在ConfigureServices方法中,添加高亮代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingMicrosoft.Owin;usingOwin;usingTodoApi.Models;[assembly:OwinStartup(typeof(TodoApi.Startup))]namespaceTodoApi{publicpartialc

c# - 使用 IServiceCollection.AddTransient、IServiceCollection.AddSingleton 和 IServiceCollectionAddScoped 方法的实际场景有哪些?

看完this帖子我可以理解AddTransient、AddScoped和AddSingleton之间的区别,但是,我看不到它们每个的实际用法。我的理解是添加transient每次客户端请求时创建一个新实例。services.AddTransient();每次客户端代码请求时都会返回一个新的DataAccess对象。更有可能是构造函数。AddTransient的用法在我们必须访问数据库以读取和更新它并销毁访问对象(DataAccess)的情况下,最好使用AddTransient-不确定线程​​安全性。AddScoped为每个http网络请求创建一个新实例。AddScoped的使用serv

c# - 如何确定服务是否已经添加到 IServiceCollection

我正在创建辅助类以通过库的IServiceCollection简化接口(interface)的配置和注入(inject)。libraries构造函数包含许多可能早先注入(inject)的依赖项。如果它们尚未插入到IServiceCollection中,则帮助程序类应添加它们。如何检测接口(interface)是否已经注入(inject)?publicstaticvoidAddClassLibrary(thisIServiceCollectionservices,IConfigurationconfiguration){//ConstructorforClassLibraryrequir