使用 ASP.NET MVC Core 1.0 创建一个简单的 MVC 应用程序
使用 ASP.NET Core 创建一个简单 MVC 应用程序的分步指南
引言
本文主要关注 ASP.NET Core 项目结构以及如何创建一个基本的 MVC 应用程序。在阅读本文之前,请先了解 MVC、MVVM 和 IOC 的概念。
设置机器
- 安装带有 Update 3 的 VS2015
- DotNetCore.1.0.0-VS2015Tools.Preview2.0.1
从微软网站下载安装程序:http://www.asp.net/
安装上述软件。成功安装后,打开 VS2015。
创建新项目
打开 VS2015,选择 .NET Core 模板并点击确定。然后弹出一个新窗口,选择空模板并点击确定。
新项目的结构与现有的 MVC 4.5 项目结构完全不同。请查看下面的图片
关键点如下
- 没有 global.asax 文件。
- 没有 Controllers、Views 文件夹、路由配置等。
- 以下是一些新增的文件
- Program.cs:应用程序的启动点。此类构建你的 webhost,调用 startup 类等。它执行职责链。
- Startup.cs:所有应用程序初始化、依赖注入、MVC 设置、路由设置等都在此文件中配置。
- Project.json:存储应用程序框架、nuget 包信息(依赖项)、发布选项等。
- Global.json:指向应用程序文件夹结构。例如:"projects": [ "src"]
所需的 NuGet 包
将以下 NuGet 包添加到你的应用程序
- "Microsoft.AspNetCore.Mvc": "1.0.0",
- "Microsoft.AspNetCore.StaticFiles": "1.0.0",
- "Microsoft.Framework.Configuration": "1.0.0-beta8",
- "Microsoft.Framework.Configuration.Json": "1.0.0-beta8"
安装这些 NuGet 包后,Project.Json
将会更新。
设置代码
.NET Core 的一些特性如下
- 内置 IOC 容器
- 日志记录机制
我们将开发一个应用程序来显示内存中的客户。应用程序结构概述
- Domain 文件夹:存储
customer
对象 - Repository 文件夹:显示内存中的
customer
- Service 文件夹:它将调用
customer
仓库来获取所有customers
。customer
仓库在构造函数中注入。 - Controllers 文件夹:客户控制器创建在其中。
Customer
服务在构造函数中注入。 - Views:在视图文件夹内,创建
customer
文件夹,其中包含 Index.cshtml 文件。 - ViewModel:它存储
customer
视图模型。我们正在使用 MVVM 模式。
有关更多详细信息,请参阅下面的图片
在 Startup.cs 文件中配置 MVC
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddScoped<ICustomerRepository, CustomerRepository>();
services.AddScoped<ICustomerAppService, CustomerAppService>();
}
在上面的代码片段中,我正在添加 MVC 并注册内置 IOC 容器中的所需组件。
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
app.UseMvc(configureRoutes);
}
private void configureRoutes(IRouteBuilder routeBuilder)
{
routeBuilder.MapRoute("Default", "{controller=Customer}/{action=Index}/{id?}");
}
在上面的代码中,使用了 MVC 并配置了路由。
这是我们在 .NET Core 中为 MVC 应用程序执行的基本设置。下载源代码以全面了解应用程序。