ASP.NET Core RC2项目 - 什么是Services文件夹?

时间:2016-06-08 14:58:52

标签: asp.net asp.net-core asp.net-core-mvc .net-core

使用VS2015创建ASP.NET Core RC2项目时,会得到内置的Services folder。有人可以提供服务文件夹使用示例的说明。或者一些可能有用的链接。

2 个答案:

答案 0 :(得分:9)

也许,您已阅读有关此候选版本的文档。 https://docs.asp.net/en/latest/fundamentals/dependency-injection.html

  

ASP.NET Core从头开始设计,以支持和利用依赖注入。 ASP.NET Core应用程序可以通过将它们注入Startup类中的方法来利用内置框架服务,并且还可以配置应用程序服务以进行注入。 ASP.NET Core提供的默认服务容器提供了一个最小的功能集,并不打算替换其他容器。

服务,在此上下文中,是指一个类实例,它为应用程序的其他部分提供一些操作或数据。不要误解它,服务并不是指Web服务,但它可能是。

Asp.net核心有一个集成的IoC容器,您可以在启动类中设置依赖关系。

// This method gets called by the runtime. Use this method to add services to the container.
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>();
}

答案 1 :(得分:0)

Asp.NET将一些默认的预先打包服务加载到容器中,并使其可用于应用程序。如果您想添加自己的服务: 1.您在Services文件夹中创建服务 2.在 ConfigureServices 上注册创建的服务(之后,asp.net容器将了解该服务,并可以将该服务的实例注入到诸如Configure和Views,Controllers等方法中) 3.最后,在配置方法中添加该服务(以便像默认服务一样预先打包)