ASP.NET Core 1.0 基础与应用启动
.NET Core http://dotnet.github.io/[https://github.com/dotnet/coreclr]
ASP.NET Core 1.0 https://get.asp.net/
Documentation:https://docs.asp.net/en/latest/index.html
MVC:https://docs.asp.net/projects/mvc/en/latest/overview.html
EF: http://docs.efproject.net/en/latest/
WIN下安装VS2015sp1 https://www.visualstudio.com/downloads/download-visual-studio-vs ,安装 AspNet Web Frameworks Tools 2015_KB3137909,也就是 AspNet5,后面会改名 Asp.Net Core 1,DNX会迁移到CLI。
项目结构
相比之前变动比较大的是项目扩展名从csproj变成了xproj,web.config 改名appsetting.json,默认使用了npm与bower等包管理工具,gulp等前端管理工具;使用了DNX 4.5与DNX Core 5.0来支持.NET Framework 与跨平台的.NET Core.
Startup类
public class Startup { /// <summary> /// 配置信息 /// </summary> public IConfigurationRoot Configuration { get; set; } /// <summary> /// 程序入口点 /// </summary> /// <param name="env"></param> public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .AddEnvironmentVariables(); Configuration = builder.Build(); } /// <summary> /// 配置服务 /// </summary> /// <param name="services"></param> public void ConfigureServices(IServiceCollection services) { services.AddAntiforgery() .AddCaching() .AddLogging() .AddMvc(); /* services.AddEntityFramework() .AddSqlServer() .AddDbContext<ApbContext>(options => options.UseSqlServer(connection)); */ } /// <summary> /// 配置组件 /// </summary> /// <param name="app"></param> /// <param name="env"></param> /// <param name="loggerFactory"></param> public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { //使用日志 loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); //是否调试模式 if (env.IsDevelopment()) { app.UseBrowserLink(); app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseIISPlatformHandler(); //使用静态文件 app.UseStaticFiles(); //使用MVC app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); } /// <summary> /// 配置启动的类 /// </summary> /// <param name="args"></param> public static void Main(string[] args) => WebApplication.Run<Startup>(args); }
1)Startup方法是整个程序的启动入口,类似于Global.asax,在构造函数中初始化基础配置信息后绑定到一个Configuration属性上。
2)ConfigureServices方法是依赖注入的核心,默认参数services,也可以注册依赖注入自定义的类型,同时需要启一些功能也需要在这里开启,比如添加MVC,缓存,日志模块等 就需要增加如下代码:
services.AddAntiforgery()
.AddCaching()
.AddLogging()
.AddMvc()
在新版的ASP.NET Core 1.0中,除了最基础的模块大部分模块都是以组件化方式来实现,也就是官方的GITHUB上有很多模块源码组成,要启用这些组件首先要添加该模块才能使用。如启用EF模块:
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApbContext>(options => options.UseSqlServer(connection));
3)Configure方法则是对增加的组件进行配置,如使用MVC功能并配置路由:
app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });
相关文章
- ASP.NET Core源码,数据结构和算法,
- 使用ASP.Net WebAPI构建REST服务(六)——Self-Host
- 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(完)
- 学习ASP.NET Core Razor 编程系列九——增加查询功能
- 学习ASP.NET Core Razor 编程系列六——数据库初始化
- 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面
- Why would one use a third-party DI Container over the built-in ASP.NET Core DI Container?
- asp.net form submit 在Chrome里面看Form提交
- Asp.Net Core 轻松学-一行代码搞定文件上传 JSONHelper
- 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生
- ASP.NET MVC中的Global.asax文件
- asp.net 生成网站地图 sitemap.xml
- ASP.NET Core Web API 最佳实践指南
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
- Asp.Net中使用OpenRowSet操作Excel表,导入Sql Server(实例)
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)
- 《精通 ASP.NET MVC 5》----1.7 获取示例代码
- Asp.net Core 3.1 之NLog使用
- asp.net core webapi 跨域中间件
- 【历史上的今天】6 月 27 日:摩托罗拉创始人出生;微软发布 ASP.NET Core;靠计算机起家的美国大亨
- JavaScript提高:006:ASP.NET使用easyUI TABS标签updatepanel
- ASP.NET本质论第一章网站应用程序学习笔记2
- ASP.NET Core 中的 Request Feature
- 在 ASP.NET MVC 应用中使用 NInject 注入 ASMX 类型的 Web Service