国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Asp.Net 5使用第三方容器

2019-11-17 02:05:45
字體:
來源:轉載
供稿:網友
asp.net 5使用第三方容器

這幾天在學習Asp.Net 5,現在文檔以及博客之類的資料實在太少了,不看源碼幾乎舉步維艱,好在全都是開源的,看看微軟的代碼也獲益良多。

看到DependencyInjection的代碼里除了默認的容器之外,還提供了對NInject, Castle, Unity, AutoFac等第三方IoC容器的支持,但看了半天愣是沒找到怎么使用。連翻代碼帶查資料,好不容易才搞明白了。

在Microsoft.AspNet.Hosting.HostingEngine的EnsureapplicationServices方法里,會調用Startup.ConfigureServices方法,并接收其返回值,在默認生成的Asp.Net項目里,這個方法的返回值類型是void,但是實際上這個返回值類型可以是IServicePRovider類型。如果返回的不是IServiceProvider,則會創建一個默認的IServiceProvider實例,即默認的ServiceProvider類型;如果返回的是IServiceProvider類型,則將這個實例作為程序的IoC對外接口。

所以問題簡單了,使用自定義容器實際上就是在ConfigureServices方法里返回一個實現了IServiceProvider類型的對象,而微軟已經為我們封裝了好幾個了。不過目前貌似除了AutoFac,其它的還只支持普通的Framework。

代碼如下

public IServiceProvider ConfigureServices(IServiceCollection services){  services.Configure<AppSettings>(Configuration.GetSubKey("AppSettings"));  services.AddMvc();  var builder = new ContainerBuilder();  AutofacRegistration.Populate(builder, services);  var container = builder.Build();  return container.Resolve<IServiceProvider>();}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富锦市| 四平市| 徐州市| 紫金县| 延吉市| 祁东县| 武宣县| 乌兰察布市| 富宁县| 古交市| 九龙城区| 武川县| 临颍县| 斗六市| 定安县| 正安县| 大荔县| 宣威市| 沙坪坝区| 临泽县| 岳池县| 禹城市| 永吉县| 江津市| 乳源| 和平县| 梅河口市| 永德县| 定日县| 滁州市| 简阳市| 湖南省| 弥勒县| 筠连县| 娄底市| 民权县| 凉城县| 镇康县| 东辽县| 麻城市| 锡林浩特市|