ASP.NET Core - 入门






2.76/5 (12投票s)
ASP.NET Core 入门介绍
引言
如今,每个人都在谈论开源、跨平台开发。微软一直以其 Windows 产品而闻名,但现在,我们正处于开发的新时代。为此,市场上出现了一个革命性的新产品——Microsoft .NET Core。
.NET Core 是一个免费的开源、跨平台框架,用于构建现代的云原生应用程序,每个 .NET 开发者都为此感到自豪。现在,平台不再有界限,每个 .NET 开发者都可以说,是的,我是平台独立的,我使用的是开源技术。
在软件开发的革命中,微软于 2000 年推出了其首个 .NET Framework,即 .NET Framework 1.0。该框架在软件开发领域扮演着重要角色。人们喜爱微软技术产品,因为这些产品易于使用和学习。
背景
当 .NET Framework 首次进入市场时,它带来了 ASP.NET、C#、VB.NET、Web 服务、多线程程序集以及许多其他功能。时光飞逝,.NET Framework 经历了许多版本,如 1.0、1.1、2.0、3.5、4.0、4.5、4.6 等。但所有这些框架都只支持特定平台,即 Windows。就我而言,我有机会接触过 .NET Framework 的所有版本。
现在,在 2016 年,微软推出了一项新的革命——Microsoft .NET Core 1.0。人们一直喜爱 ASP.NET,因为它在万维网上运行。今天,我们将作为入门来了解 ASP.NET Core。
ASP.NET Core 是一个全新的开源、跨平台框架,用于创建现代的 Web 和云原生系统,这意味着你不再仅限于 Windows,可以在 Linux、Mac 等任何地方运行。
ASP.NET Core 特性
- 跨平台、开源 - 现在可以在 Linux、Windows、Mac 等任何地方运行你的应用程序。
- 快速开发 - 在浏览器上快速工作。
- 在你的编辑器中工作 - 现在,你不仅可以在 Visual Studio 中工作,还可以选择 Visual Studio Code,如果你想在命令行中操作,也可以。
现在的问题来了,在哪里可以下载 .NET Core?这里是官方网站。
只需访问 http://dot.net。
在这里,你可以轻松下载 Visual Studio 2015、.NET Core 和 Xamarin。
现在,我将告诉你 .NET Framework 包含什么,.NET Core 包含什么。
.NET Framework 包含
- ASP.NET 4.6 (
System.web
) - WebForms
- MVC
- Web API
.NET Framework 以 Windows 平台而闻名。
.NET Core 包含
- ASP.NET Core MVC
- ASP.NET Core 1.0 (
Microsoft.AspNetCore
)
.NET Core 以跨平台开发而闻名。现在取决于你的需求,如果你想创建可以在不同平台上运行的应用程序,请选择 .NET Core。如果你对 Windows 满意,则有 .NET Framework。
Using the Code
如果你已经从 .NET 网站下载了 .NET Core(如果还没有,请下载,它是免费的),那么我们来用 .NET Core 写一些代码。
首先,如果你想了解你的 dotnet core 信息,只需打开命令提示符并输入 dotnet
例如 - C:\>dotnet 然后按 Enter 键。
正如你所见,我们目前拥有 1.0.1 版本。
如果你已经在使用 .NET Framework,你总是通过 Visual Studio 创建应用程序。今天我将告诉你,你可以在命令行中创建新的 .NET Core 项目,是的,就在命令行中。
让我们看看如何做到。
- C:\>Md testCore - 这将创建一个新目录。
- C:\>cd testcore - 这将进入该目录
- 现在输入
c:\>dotnet new
- 这将创建一个新项目。
C:\testCore> dotnet new
在 c:\testCore> 中创建了新的 C# 项目。
现在通过 Visual Studio Code 或 Visual Studio 打开此项目。这是一个简单的 C# 应用程序,在解决方案资源管理器中看起来是这样的。
让我们来了解一下它的文件结构。
1. Program.cs
这是一个普通的 HelloWorld
控制台应用程序,你可以在这里根据需要进行更改。
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
2. project.json
这是一个简单的 json 文件,它将告诉你你的应用程序依赖于哪些依赖项。因此,在这里,你将为你未来的应用程序添加依赖项。
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"imports": "dnxcore50"
}
}
}
3. project.lock.json
这是你的包的完整依赖图。
现在,如果你想运行你的代码,按 F5 键,或者在命令提示符中输入 dotnet run
,就完成了。如果你在命令提示符中位于项目文件夹下,你的应用程序将运行。
这就是你的第一个 Hello World 应用程序,你可以在 Windows、Mac、Linux 上测试此应用程序,这取决于你,因为你拥有跨平台的强大功能。
现在,我们将创建我们的第一个 ASP.NET Core 应用程序。为此,我们将在 project.json 文件中添加一些依赖项。所以,将此代码添加到 project.json 的 dependencies 部分。
"dependencies": {
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1"
},
什么是 Kestrel?
Kestrel 是一个用于运行 ASP.NET Core 应用程序的 Web 服务器,这就是我们添加此依赖项的原因。
现在,在 program.cs 中为此服务器创建一个宿主。
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()//Server
.Configure(app =>
{
app.Run(context => context.Response.WriteAsync("Hello in Asp.net Core"));
})
.Build();
host.Run();
}
}
}
如上代码所示,我们有一个带有 WebHostBuilder
类的宿主对象,我们配置应用程序逻辑,构建并运行我们的宿主。现在,按 F5 运行项目。一旦你运行项目,屏幕将显示如下:
正如你所见,你的应用程序已被托管,并且你有一个 URL localhost:5000。现在打开你的 Web 浏览器,输入该 URL 并运行它。
正如你所见,我们的第一个 ASP.NET Core 应用程序正在 Web 浏览器中运行。这就是 ASP.NET Core 的一个简单介绍。如果你对本文有任何疑问,请在评论框中写下你的评论。
编程愉快!