龙空技术网

在windows/Linux下设置ASP.Net(秒会)

php疑难杂症铺 1734

前言:

现在兄弟们对“win10下调试asp”都比较关注,朋友们都想要剖析一些“win10下调试asp”的相关知识。那么小编也在网上汇集了一些有关“win10下调试asp””的相关资讯,希望同学们能喜欢,我们快快来学习一下吧!

在windows/Linux下设置ASP.Net(秒会)

创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 来创建,其优点是简单方便,但需要安装最新版本Visual Studio 2017 preview 15.3 。另一种方式是使用Visual Studio Code来创建,Visual Studio Code 则是一款轻量级的编辑器 ,可在多种操作系统中运行,如果情况允许,笔者更建议使用Visual Studio Code来进行开发,可在多种平台开发,同时也更灵活,享受更多开发的乐趣。

1.1. 先决条件

1.1.1. 安装.NET Core 2.0

开发ASP.NET Core 2.0的应用,前提是需要安装.NET Core 2.0 正式版。

安装完成后,可在命令行(cmd)中键入命令查看安装信息:

安装信息如下图,表示.NET Core 2.0 已经成功安装

1.1.2. 安装Visual Studio 2017

如果需要使用Visual Studio 2017 来开发,需要安装 Visual Studio 2017 Preview version 15.3,个人开发者可选择社区版,社区版的功能对于日常的开发已经足够,并且是免费。

下载完成后可选择相应的工作负载来安装,如果只是运行ASP.NET Core应用则可以只安装响应部分,如下图所示:

1.1.3. 安装Visual Studio Code

Visual Studio Code 是一个轻量级的源代码编辑器,可以运行在Windows,MacOs,和Linux。通过安装扩展可用来开发诸如C++、C#、 Python、PHP、Go等语言。

安装完成后,需要安装c#开发扩展如下图所示

1.2. 通过Visual Studio 2017 创建应用

通过Visual Studio 2017 创建应用非常简单,在新建项目时选择 ASP.NET Core webapplication即可

在确认选择后,还会弹出一个对话框,选择代码结构模板,此处任意选择Web Application(MVC),项目即可生成完毕。在Visual Studio 2017中点击运行,一个ASP.NET Core 网站即可运行。

1.3. 通过Visual Studio Code 创建应用

首先可在本地新建文件夹,然后打开Visual Studio Code ,选择打开刚才的文件夹

在主菜单中依次选择“查看” > “集成终端”。在集成终端中输入 dotnet new mvc 命令,文件夹中会生成 mvc 的模板

模板建立好后,可在集成终端中输入dotnet run 命令,mvc 站点即可运行。

要在Visual Studio Code 中调试程序,需要配置调试器,点击调试配置,选择.NET Core配置文件

此时会生成launch.json文件,文件中有三种launch方式,以web节点为例

将program节点中的路径改为自己程序集的路径即可,例如

${workspaceRoot/bin/Debug/netcoreapp2.0/WebApplicationSample1.dll然后点击左侧调试图标,在左上角可选择启动调试,启动后会弹出,对话框提示找不到build命令,选择配置任务运行程序。

配置完成后会多一个task.json文件,此时再次开启调试,便可运行调试。

1.4. 托管ASP.NET Core 应用

1.4.1. Windows平台托管ASP.NET Core应用

ASP.NET Core 应用需要一个Host , Host必须要实现IWebHost接口,接口包括Start方法。创建一个Host 需要使用WebHostBuilder,它会返回一个WebHost实例,用于处理请求。

在上一节所创建的ASP.NET Core应用中,可以看到Program.cs文件中的 'void Main'方法,此方法是整个应用的入口,在入口中调用了CreaDefaultbuilder来创建Host,代码如下:

CreateDefaultBuilder创建了WebHostBuilder的实例来构建启动 server 的 host。host需要一个实现IServer接口的server。内建的Web server 包括 Kestrel 和 Httpsys,默认使用Kestrel.在命令行工具中执行dotnet run命令,此时即可启动整个应用。

在ASP.NET Core中可以用两种HTTP server,它们请求原理如图所示:

Kestrel 是跨平台的HTTP server 基于libuv(一个跨平台的异步I/O library)

Httpsys 是基于Windows内核驱动程序Http.Sys的HTTP server。Http.Sys是成熟的技术,可以防范多种攻击,并提供全功能Web服务器的鲁棒性,安全性和可扩展性。IIS本身作为HTTP侦听器运行在Http.Sys之上。

在windows平台上还可以使用Http.Sys作为Web Server

1.4.2. Linux平台下托管ASP.NET Core应用

由于ASP.NET Core的跨平台性,因此在Liunx环境下也可以使用,需要注意的是在Linux环境下是不能选择Http.Sys作为Web server,而只能选择Kestrel。本文选用 Ubuntu 16.04 系统,作为示例。

第一步:注册微软key为可信任

第二步:将微软的安装地址设为可信任的列表

第三步:更新apt-get版本

第四步:更新完成后即可安装最新.NET Core 2.0

安装完成后使用如下命令查看.NET Core 版本信息

使用命令生成项目模板

以上命令会在当目录下面创建一个app文档夹,首先我们要将根路径跳转到app文件夹下面

最后我们要将ASP.NET Core应用在Linux环境下托管起来,只需要运行下面一条命令

如果选择Htpp.Sys作为Linux下的服务器则会抛出异常

1.5. 总结

从本节可以看出,不管是在传统的Windows环境还是Linux环境,都能通过Visual Studio Code开发ASP.NET Core 应用程序,同样的在Windwos环境和Linux都可以使用ASP.NET Core自带的Web server来托管应用。

标签: #win10下调试asp