2016-10-19 5 views
2

私は単純なDotNet Core Webアプリケーションの設定を見ています。 Unity Dependency Injectionの必要がないように見えるのは、Startup.cs ConfigureServicesメソッドで単純に行うことができるからです。DotNetコアにはまだUnity Dependency Injectionが必要ですか?

+1

.NETフレームワークは一切必要ありませんUnityと.NET Coreはそれを必要としません。任意のDIライブラリ、Unity、または純粋なDIを使用することも、依存性注入を使用することもできません。 MicrosoftはUnityをサポートすることを止めましたが、現在はコミュニティによって管理されています。 – Steven

答えて

0

ええ、フレームワークで提供されている依存性注入サービスを使用できます。

StartupクラスのConfigureServicesメソッドは、Entity Framework CoreやASP.NET Core MVCなどのプラットフォーム機能を含むアプリケーションで使用されるサービスを定義します。最初に、ConfigureServicesに提供されるIServiceCollectionには、ほんの一握りのサービスが定義されています。以下は、AddDbContext、AddIdentity、およびAddMvcのようないくつかの拡張メソッドを使用してコンテナにサービスを追加する方法の例です。

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<IEmailSender, AuthMessageSender>(); 
services.AddTransient<ISmsSender, AuthMessageSender>(); 
} 
0

依存性注入はDOTNETコアフレームワークにおける第一級オブジェクトです。 Unity、Autofac、Ninjectなどの別個のパッケージをダウンロードする必要はありません。

関連する問題