What is New on ASP.NET Core MVC 2.1?
The ASP.NET Core MVC framework is a lightweight, open source, highly testable presentation framework optimized for use with ASP.NET Core.
ASP.NET Core MVC provides a patterns-based way to build dynamic websites that enables a clean separation of concerns. It gives you full control over markup, supports TDD-friendly development and uses the latest web standards.
Features
ASP.NET Core MVC includes the following:
Routing
ASP.NET Core MVC is built on top of ASP.NET Core’s routing, a powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs. This enables you to define your application’s URL naming patterns that work well for search engine optimization (SEO) and for link generation, without regard for how the files on your web server are organized. You can define your routes using a convenient route template syntax that supports route value constraints, defaults and optional values.
Convention-based routing enables you to globally define the URL formats that your application accepts and how each of those formats maps to a specific action method on
routes.MapRoute(name: "Default", template: "{controller=Home}/{action=Index}/{id?}");
Attribute routing enables you to specify routing information by decorating your controllers and actions with attributes that define your application’s routes. This means that your route definitions are placed next to the controller and action with which they’re associated.
[Route("api/[controller]")]
public class ProductsController : Controller
{
[HttpGet("{id}")]
public IActionResult GetProduct(int id)
{
...
}
}
Model binding
ASP.NET Core MVC model binding converts client request data (form values, route data, query string parameters, HTTP headers) into objects that the controller can handle. As a result, your controller logic doesn’t have to do the work of figuring out the incoming request data; it simply has the data as parameters to its action methods.
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null) { ... }
Model validation
ASP.NET Core MVC supports validation by decorating your model object with data annotation validation attributes. The validation attributes are checked on the client side before values are posted to the server, as well as on the server before the controller action is called.
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; }
}
A controller action:
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
{
if (ModelState.IsValid)
{
// work with the model
}
// At this point, something failed, redisplay form
return View(model);
}
The framework handles validating request data both on the client and on the server. Validation logic specified on model types is added to the rendered views as unobtrusive annotations and is enforced in the browser with jQuery Validation.
Dependency injection
ASP.NET Core has built-in support for dependency injection (DI). In ASP.NET Core MVC, controllerscan request needed services through their constructors, allowing them to follow the Explicit Dependencies Principle.
Your app can also use dependency injection in view files, using the @inject
directive:
@inject SomeService ServiceName
<!DOCTYPE html>
<html lang="en">
<head>
<title>@ServiceName.GetTitle</title>
</head>
<body>
<h1>@ServiceName.GetTitle</h1>
</body>
</html>
Filters
Filters help developers encapsulate cross-cutting concerns, like exception handling or authorization. Filters enable running custom pre- and post-processing logic for action methods, and can be configured to run at certain points within the execution pipeline for a given request. Filters can be applied to controllers or actions as attributes (or can be run globally). Several filters (such as Authorize
) are included in the framework. [Authorize]
is the attribute that is used to create MVC authorization filters.
[Authorize]
public class AccountController : Controller
{
Areas
Areas provide a way to partition a large ASP.NET Core MVC Web app into smaller functional groupings. An area is an MVC structure inside an application. In an MVC project, logical components like Model, Controller, and View are kept in different folders, and MVC uses naming conventions to create the relationship between these components. For a large app, it may be advantageous to partition the app into separate high level areas of functionality. For instance, an e-commerce app with multiple business units, such as checkout, billing, and search etc. Each of these units have their own logical component views, controllers, and models.
Web APIs
In addition to being a great platform for building web sites, ASP.NET Core MVC has great support for building Web APIs. You can build services that reach a broad range of clients including browsers and mobile devices.
The framework includes support for HTTP content-negotiation with built-in support to format data as JSON or XML. Write custom
Use link generation to enable support for hypermedia. Easily enable support for cross-origin resource sharing (CORS) so that your Web APIs can be shared across multiple Web applications.
Testability
The framework’s use of interfaces and dependency injection make it well-suited to unit testing, and the framework includes features (like a TestHost and InMemory provider for Entity Framework) that make integration tests quick and easy as well.
Razor view engine
ASP.NET Core MVC views use the Razor view engine to render views. Razor is a compact, expressive and fluid template markup language for defining views using embedded C# code. Razor is used to dynamically generate web content on the server. You can cleanly mix server code with client side content and code.textCopy
<ul>
@for (int i = 0; i < 5; i++) {
<li>List item @i</li>
}
</ul>
Using the Razor view engine you can define layouts, partial views and replaceable sections.
Strongly typed views
Razor views in MVC can be strongly typed based on your model. Controllers can pass a strongly typed model to views enabling your views to have type checking and IntelliSense support.
For example, the following view renders a model of type IEnumerable<Product>
:
@model IEnumerable<Product>
<ul>
@foreach (Product p in Model)
{
<li>@p.Name</li>
}
</ul>
Tag Helpers
Tag Helpers enable server side code to participate in creating and rendering HTML elements in Razor files. You can use tag helpers to define custom tags (for example, <environment>
) or to modify the behavior of existing tags (for example, <label>
). Tag Helpers bind to specific elements based on the element name and its attributes. They provide the benefits of server-side rendering while still preserving an HTML editing experience.
There are many built-in Tag Helpers for common tasks – such as creating forms, links, loading assets and more – and even more available in public GitHub repositories and as NuGet packages. Tag Helpers are authored in C#, and they target HTML elements based on element name, attribute name, or parent tag. For example, the built-in LinkTagHelper can be used to create a link to the Login
action of the AccountsController
:
<p>
Thank you for confirming your email.
Please <a asp-controller="Account" asp-action="Login">Click here to Log in</a>.
</p>
The EnvironmentTagHelper
can be used to include different scripts in your views (for example, raw or minified) based on the runtime environment, such as Development, Staging, or Production:
<environment names="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
</environment>
<environment names="Staging,Production">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery">
</script>
</environment>
Tag Helpers provide an HTML-friendly development experience and a rich IntelliSense environment for creating HTML and Razor markup. Most of the built-in Tag Helpers target existing HTML elements and provide server-side attributes for the element.
View Components
View Components allow you to package rendering logic and reuse it throughout the application. They’re similar to partial views, but with associated logic.
To find best and cheap ASP.NET Core MVC 2.1 hosting provider that fully support ASP.NET Core MVC 2.1 hosting is not
ASPHostPortal Fully Supports The Lastest ASP.NET Core MVC Version
All of their servers run the latest versions of ASP.NET so they will always be able to support your site. Finally, the

ASPHostPortal Never Lose Your Data
Your data is safe. They have deployed the latest cloud infrastructures and use only premium hardware components, including fully redundant primary and backup storage devices those are RAID protected. This means that your data has triple redundant, it is not just copied and it is always available. If you want to roll back, access an accidentally deleted file, or need a complete restore, they have you covered.
ASPHostPortal’s Expert Support Team
Everything starts with impeccable support. The unmatched knowledge, experience, and dedication of their team truly make them stand out. They understand that people are the most important piece of the service they provide, and that is why they are at the top of the list. You’ll notice the difference the first time you talk to one of their ASP.NET experts.
ASPHostPortal’s World Class Data Center
Their data centers are strategically located around the country to provide their customers with the highest levels of availability, service and support on the market. Their data centers located on US (Washington & Seattle), Netherlands (Amsterdam), Singapore, Hong Kong, United Kingdom (London), Australia (Melbourne), France (Paris), Germany (Frankfurt), Italy (Milan), India (Mumbai). Each Data Center is custom designed with raised floors. Each Data Center is equipped with HVAC temperature control systems with separate cooling zones, seismically braced racks, advanced early smoke detection and fire suppression systems. Their Data Centers are supported by some of the most powerful physical security in the business. They have 24/7 video surveillance, security breach alarms and Biometric thumb print scanners at every entryway.
Data Center Building Construction

Their data centers are built upon a unique pod design concept, making them functionally independent with distinct and redundant resources, and fully integrated through their revolutionary network architecture. You can have direct control over your system in any data center and full access to all of their back-end services—all fully automated and on demand.
Fire Suppression Systems

Their state-of-the-art fire suppression has three levels of protection. The facility is designed and constructed to sustain a seismic event while maintaining business functions and boasts low latency through superior connections to Seattle’s robust fiber optic loops, 55MW of existing electrical capacity, 45 on-site generators with 5-million gallons of on-site fuel storage, and a carrier vault system supported by more than 50 miles of embedded, secure conduits.
Power Infrastructure
Their data center power is fed by conditioned UPS (uninterruptible power supply) electricity and with the following systems in place to ensure power back-up.
Cooling Systems

They have tremendous cooling infrastructure, with dual redundant chilled water supply loops and multiple Liebert air conditioning units pumping cold air into the pressurized raised floor of their data center.
- n+1 Liebert VACs w/n+1 supply loops and chillers
- Up to 300 tons of cooling capacity that runs on MCI’s chilled water systems
- Raised floor system for efficient distribution of cooling
Fiber and Bandwidth Providers

They operate the Screaming-Fast Network™, featuring multi-homed bandwidth with connections to over 40 networks. They route traffic over major Tier 1 Internet backbones such as UUNet/MCI, Level 3, NTT/Verio, and AboveNet, with no low-quality bandwidth and plenty of network capacity for maximum reliability and scalability.

ASPHostPortal Offers Affordable Price
ASPHostPortal offers affordable price for all of ASP.NET Core MVC 2.1 hosting plans. Customers can start their ASP.NET Core MVC 2.1 site just from $1.00/mo. They are so confident that you will like their service, so they brave to offer a