Introduction to ASP.NET Core
By Daniel Roth, Rick Anderson, and Shaun Luttin
ASP.NET Core is a significant redesign of ASP.NET. This topic introduces the new concepts in ASP.NET Core and explains how they help you develop modern web apps.
What is ASP.NET Core?
ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.
Why build ASP.NET Core?
The first preview release of ASP.NET came out almost 15 years ago as part of the .NET Framework. Since then millions of developers have used it to build and run great web apps, and over the years we have added and evolved many capabilities to it.
ASP.NET Core has a number of architectural changes that result in a much leaner and modular framework. ASP.NET Core is no longer based on System.Web.dll. It is based on a set of granular and well factored NuGet packages. This allows you to optimize your app to include just the NuGet packages you need. The benefits of a smaller app surface area include tighter security, reduced servicing, improved performance, and decreased costs in a pay-for-what-you-use model.
With ASP.NET Core you gain the following foundational improvements:
A unified story for building web UI and web APIs
Integration of modern client-side frameworks and development workflows
A cloud-ready environment-based configuration system
Built-in dependency injection
New light-weight and modular HTTP request pipeline
Ability to host on IIS or self-host in your own process
Built on .NET Core, which supports true side-by-side app versioning
Ships entirely as NuGet packages
New tooling that simplifies modern web development
Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
Open source and community focused
Build web APIs and web UI using ASP.NET Core MVC
You can build HTTP services that reach a broad range of clients, including browsers and mobile devices. Support for multiple data formats and content negotiation is built-in. ASP.NET Core is an ideal platform for building web APIs and RESTful apps on .NET Core. See Building web APIs.
You can create well-factored and testable web apps that follow the Model-View-Controller (MVC) pattern. See MVC and Testing.
Razor provides a productive language to create Views
Tag Helpers enable server-side code to participate in creating and rendering HTML elements in Razor files
Model Binding automatically maps data from HTTP requests to action method parameters
Model Validation automatically performs client and server side validation
Client-side development
ASP.NET Core is designed to integrate seamlessly with a variety of client-side frameworks, includingAngularJS, KnockoutJS and Bootstrap. See Client-Side Development for more details.
Next steps
For getting-started tutorials, see ASP.NET Core Tutorials
For in-depth introduction to ASP.NET Core concepts and architecture, see ASP.NET Core Fundamentals.
An ASP.NET Core app can use the .NET Core or .NET Framework runtime. For more information, seeChoosing between .NET Core and .NET Framework.
If yoursquo;d like to connect with the ASP.NET Core development teamrsquo;s progress and plans, tune in to the weekly ASP.NET Community Standup.
Overview of ASP.NET Core MVC
By Steve Smith
ASP.NET Core MVC is a rich framework for building
剩余内容已隐藏,支付完成后下载完整资料
ASP.NET核心简介
By Daniel Roth, Rick Anderson, and Shaun Luttin
ASP.NET的核心是ASP.NET的一个重大的重新设计。本主题介绍新概念在ASP.NET核心并解释它们如何帮助您开发现代Web应用程序。
ASP.NET的核心是什么?
ASP.NET的核心是一个基于互联网连接的应用现代的云建设一个新的开源和跨平台的框架,如Web应用,物联网的应用程序和移动终端。ASP.NET的核心应用程序能够运行在.NET内核或全.NET框架上。它被设计为应用程序部署到云中,或在本地运行优化的开发框架。它由模块化的组件以最小的开销,所以你保持灵活性,构建你的解决方案。你可以开发和运行您的应用程序的跨平台ASP.NET核心的Windows,Mac和Linux。ASP.NET的核心是开放的在GitHub源。
为什么要建立ASP.NET的核心?
ASP.NET的第一个预览版本出来,差不多15年前的一部分。NET框架。自那时以来,数以百万计的开发人员使用它来构建和运行伟大的Web应用程序,并多年来,我们H大道增加并发展了许多能力。
ASP.NET的核心有许多建筑的变化,在一个更精简的模块化框架的结果。ASP.NET的核心不再是基于system.web.dll。它是基于一组颗粒和事实彩色的NuGet包。这允许你优化你的应用程序只包括NuGet包你需要。一个较小的应用程序表面积的好处包括更严格的安全性,减少服务,改进性能,并降低成本在支付你使用的模型。
随着ASP.NET核心你获得以下基础的改进:
- 构建Web用户界面和Web API的统一
- 现代客户端框架与开发工作流的整合
- 一种基于云环境的配置系统
- 内置依赖注入
- 新的轻量级和模块化HTTP请求管道
- 在你自己的进程中主机或IIS主机的能力
- NET内核,支持真正的并排应用程序版本
- 完全NuGet包
- 简化现代web开发的新工具
- 建立跨平台运行ASP.NET的应用程序在Windows,Mac和Linux
- 开源和社区聚焦
构建Web API和Web用户界面使用ASP.NET核心的MVC
- 您可以建立HTTP服务,以达到广泛的客户端,包括浏览器和移动设备。支持多种数据格式和内容协商内置。ASP.NET的核心是一种理想的NET内核构建Web API和REST应用程序的平台。参见建立网络API。
- 您可以创建遵循模型视图控制器(MVC)模式的良好的可测试和可测试的web应用程序。参见MVC和测试。
- 剃刀提供了一个生产语言来创建视图
- 标记辅助器允许服务器端代码参与创建和呈现在剃刀文件中的HTML元素
- 模型绑定将HTTP请求的数据自动映射到动作方法参数
- 模型验证自动执行客户端和服务器端验证
客户端开发
ASP.NET的设计核心是用各种客户端框架,includingangularjs无缝集成,knockoutjs和引导。更多细节参见客户端开发。
接下来的步骤
入门教程,看到ASP.NET核心教程
为深入地介绍了ASP.NET的核心概念和体系结构,看到ASP.NET的核心基础。
ASP.NET的核心应用程序可以使用.NET核心或.NET框架运行时。有关更多信息,seechoosing之间。NET的核心和.NET框架。
如果你想与ASP.NET核心开发团队的进度和计划连接,调整到每周一次的ASP.NET社区站。
ASP.NET核心的MVC的概述
By Steve Smith
ASP.NET核心的MVC是一种丰富的框架构建Web应用程序和API使用MVC设计模式。
什么是MVC模式?
模型视图控制器(MVC)架构模式将应用程序分成三个主要组件:模型、视图和控制器。这种模式有助于实现关注的分离使用这种模式,用户请求被路由到一个控制器,它负责与模型一起执行用户操作和/或检索查询结果。控制器选择V镜下显示给用户,并提供与任何模型的数据要求。
下面的图表显示了三个主要组成部分,哪些参考其他:
这种职责划分有助于你在复杂程度上扩展应用程序,因为它更容易编码、调试和测试具有单个工作的某些(模型、视图或控制器)遵循单一责任原则。更新、测试和调试依赖于这两个区域中两个或多个区域的依赖项的代码更加困难。例如,用户界面L逻辑往往比变化的业务逻辑越来越频繁。如果将演示代码和业务逻辑组合在一个对象中,则每次都必须修改包含业务逻辑的对象。更改用户界面。这是每一个微小的用户界面变化后可能会引入误差,需要对所有的业务逻辑的测试。
注
视图和控制器依赖于模型。然而,该模型既不依赖于视图,也不取决于控制器。这是分离的主要好处之一。这种分离允许M模型是建立和测试独立的视觉呈现。模型的责任
MVC应用程序中的模型表示应用程序的状态以及任何由其执行的业务逻辑或操作。业务逻辑应该封装在模型中,沿W用于保持应用程序状态的任何实现逻辑。强类型视图ViewModel类通常会使用专门设计的数据包含在视图的显示;控制器将创建并填充这些ViewModel实例与模型。Note
使用MVC架构模式在应用程序中组织模型的方法有很多种。了解一些不同类型的模型类型。
控制器的职责
控制器是处理用户交互的组件,与模型一起工作,并最终选择要呈现的视图。在MVC应用程序中,视图只显示信息;控制器手响应用户输入和交互。在MVC模式中,控制器是初始入口点,并负责选择要使用的类型和视图(因此它的名字它控制应用程序如何响应给定的请求)。
注
控制器不应该过于复杂的太多的责任。为了使控制器逻辑不再过于复杂,使用单责原则将业务逻辑控制器与域模型。
提示
如果你发现你的控制器动作经常执行相同的动作,你可以按照自己thedon不重复原则通过移动这些常见的行为分为滤波器。
ASP.NET核心的MVC是什么
ASP.NET核心的MVC框架是一个轻量级的、开源的,使用ASP.NET的核心优化高度可测试表示框架。
ASP.NET核心的MVC提供了基于模式的方式来构建动态网站,使一个干净的关注点分离。它使您完全控制标记,支持TDD友好开发和使用最新网页标准。
特征
ASP.NET Core MVC includes the following features:
- 路由
- 模型绑定
- 模型的验证
- 依赖注入
- 过滤器
- 地区
- Web API
- 可测性
- Razor视图引擎
- 强类型视图
- 标签助手
- 视图组件
路由
ASP.NET核心的MVC是基于ASP.NET核心的路由,一个强大的URL映射组件允许您构建具有易于理解和可搜索的URL的应用。这使您能够定义Y我们的应用程序的URL命名模式,适用于搜索引擎优化(SEO)和链接生成,而不考虑如何在您的Web服务器上的文件组织。你可以定义你使用方便的路由模板语法,支持路由值约束、默认值和可选值。
基于约定的路由使您能够全局定义应用程序所接受的URL格式,以及如何将每个格式映射到给定控制器上的特定操作方法。当一个incomi接收到NG请求,路由引擎解析URL并将其匹配到定义的URL格式之一,然后调用相关控制器的动作方法。C#
routes.MapRoute(name: 'Default', template: '{controller=Home}/{action=Index}/{id?}');
属性路由使您可以通过定义应用程序的路由属性来装饰控制器和操作,从而指定路由信息。这意味着你的路由定义放置在控制器旁边,并与它们关联的操作。C#
[Route('api/[controller]')]public class ProductsController : Controller
{
[HttpGet('{id}')]
public IActionResult GetProduct(int id)
{
...
}
}
模型绑定
ASP.NET核心的MVC模式的结合将客户端请求数据(表单值,路由数据,查询字符串参数、HTTP头)为对象,控制器可以处理。因此,您的控制器L逻辑没有搞清楚请求数据的工作;它只是数据作为参数的方法。C#
public async Tasklt;IActionResultgt; Login(LoginViewModel model, string returnUrl = null) { ... }
模型的验证
ASP.NET核心的MVC支持验证通过装饰你的模型与数据标注验证对象属性。在值被过帐到客户端之前,检查客户端的验证属性E服务器,以及在服务器上的控制器动作之前调用。C#
using System.ComponentModel.DataAnnotations;public class LoginViewModel
{
[Required]
[EmailAddress]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = 'Remember me?')]
public bool RememberMe { get; set; }
}
控制器动作:C#
public async Tasklt;IActionResultgt; Login(LoginViewModel model, string returnUrl = null){
if (ModelState.IsValid)
{
// work with the model
}
// If we got this far, something failed, redisplay form
return View(model);
}
框架将处理客户端和服务器上的验证请求数据。模型类型指定的验证逻辑添加到渲染的视图是不显眼的注释和问题CED在jQuery验证浏览器。
依赖注入
ASP.NET核心的依赖注入(DI)的内置支持。在ASP.NET核心的MVC,controllerscan请求需要的服务,通过他们的建设者,让他们根据明确dependenci专家系统原理。
您的应用程序也可以使用依赖注入的视图文件,使用@注入指令:html
@inject SomeService ServiceNamelt;!DOCTYPE htmlgt;lt;htmlgt;lt;headgt;
lt;titlegt;@ServiceName.GetTitlelt;/titlegt;lt;/headgt;lt;bodygt;
lt;h1gt;@ServiceName.GetTitlelt;/h1gt;lt;/bodygt;lt;/htmlgt;
过滤器
过滤器帮助开发人员封装横切关注点,如异常处理或授权。过滤器使运行自定义预处理和后处理逻辑的行动方法,并可以配置它运行在某些点的执行管道内对于一个给定的请求。过滤器可以应用到控制器或动作作为属性(或可以运行全局)。几个过滤器(如授权Rize)都包含在框架。C#
[Authorize]
public class AccountController : Controller
{
地区
领域提供了一种大ASP.NET核心的MVC Web应用程序划分成更小的功能组。一个区域实际上是一个应用程序内的MVC结构。在MVC项目中,逻
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[28362],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
