.NET Core ConfigureServices
生活随笔
收集整理的這篇文章主要介紹了
.NET Core ConfigureServices
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
節選自這里
ConfigureServices是Startup類中可以選擇定義的一個方法,作用即實現了依賴注入(DI)的配置,只有把服務添加到服務容器中才能讓這些服務可以通過依賴注入的形式在應用中使用。方法參數如下:
- IServiceCollection:整個ASP.NET Core 默認帶有依賴注入(DI),IServiceCollection是依賴注入的容器,首先創建一個類(Foo)和接口(IFoo),代碼清單如下:
在ConfigureServices 中將接口和實現注入至容器
public void ConfigureServices(IServiceCollection services) {services.AddTransient<IFoo, Foo>(); }如果想在每次Http請求后都使用IFoo的GetFoo()方法來處理,上面講到可以在Configure方法中注冊函數,在注冊過程中由于使用了依賴注入(DI),因此可以直接通過?RequestServices.GetRequiredService<IFoo>()?泛型方法將IFoo對象在容器中取出。
app.Run((context) => {var str = context.RequestServices.GetRequiredService<IFoo>().GetFoo();return context.Response.WriteAsync(str); });除了自己的接口外,還支持通過擴展方法添加更多的注入方法,比如EntityFramework、mvc框架都實現自己的添加方法。
public void ConfigureServices(IServiceCollection services) {// Add framework services.services.AddDbContext<ApplicationDbContext>(options =>options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));services.AddIdentity<ApplicationUser, IdentityRole>().AddEntityFrameworkStores<ApplicationDbContext>().AddDefaultTokenProviders();services.AddMvc();// Add application services.services.AddTransient<IFoo, Foo>();}?
轉載于:https://www.cnblogs.com/shuangzimuchangzhu/p/8458296.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的.NET Core ConfigureServices的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置 docker0 网桥
- 下一篇: asp.net ajax控件工具集 Au