百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

ASP.NET Core 3.1入门教程(二)

liuian 2024-12-02 22:23 22 浏览

上一章节,我们简要谈了一下ASP.NET Core 这个技术框架。从本章节开始,我们来谈谈有关ASP.NET Core 的基础知识。首先,我将和大家讨论下面两个问题:

  1. 使用Visual Studio 2019创建ASP.NET Core Web应用程序;
  2. ASP.NET Core应用程序创建的时候,有很多模板,这些模板有什么不同,每个模板都会做什么;



使用Visual Studio 2019创建ASP.NET Core Web应用程序

1.打开VS2019,选择如图所示选项:【Create a new project】

然后选择—【ASP.NET Core Web Application】,然后点击--【Next】按钮:

然后输入项目的名称,项目存放位置,点击创建:

然后选择【Empty】模板,取消勾选HttpS选项,点击创建:

Empty Project Template 空模板项目

创建的项目如下:

可以看到,空模板创建的项目,没有其他任何内容。如果你想从头到尾,干干净净的创建一个项目,那么就选择【Empty Template】,上面这个就是例子,我将使用上面这个例子,以便让你们理解ASP.NET Core是如何把不同的组件组装在一起,进行开发应用程序的。

空模板项目中的Program类的代码:

空模板中,Startup类的代码,可以看到输出了一个Hello World.


Ctrl+F5运行项目:

可以看到输出的是Hello World!,这样我们就创建了一个空模板的ASP.NET Core Web应用程序。并且向浏览器输出了HelloWorld。

Web Application (Model-View-Controller) Template -----Web应用程序(模型--视图--控制器) 模板

创建的项目结构如下:

可以看到Web Application(Model-View-Controller)模板创建了Models,Views以及Controller文件夹,同样还为我们创建了特别的文件,例如:JavaScript、CSS、Layout文件等等。这些都是创建Web应用程序所必须的。在下篇文章中,我将使用这个模板,来创建项目。

API Template

生成的项目结构:

API模板生成的项目结构,是用来开发ASP.NET Core Restful HTTP服务必不可少的。你可以看到,仅仅只有一个Controller文件夹。网站项目特有的东西,例如:CSS文件、JavaScript文件、视图文件、布局页面等等,都不见了。这是因为今后API不需要,任何用户界面,所以它不包含网站项目特有的那些文件。你应该也注意到:API模板生成的项目,也不包含Models,以及View文件夹,因为他们对于API项目模板来说也不是必须的。

Web Application Template

Web Application模板使用Razor Page来开发Web应用程序。有了Razor Pages,代码就更加以页面为中心,也就简单得多,也就更高效了。我们可以使用这个模板,当我们想要开发Web应用程序,但是不想要ASP.NET MVC那样的复杂度的时候。在接下来的文章中,我将会讨论学习这个Razor Page,下面的图片显示了使用Web Application 模板,生成的项目结构:

Razor Class Library (RCL)

这个Razor Class Library(RCL)模板是用来创建可以重用的Razor Class Library项目。典型地,一个Razor Class Library项目,包含可以重用的用户界面的东西,例如:数据模型(data models)、页面模型(pages models)、页面(pages)、控制器(controller)、视图组件(View Components)、还有Razor视图(Razor View)。

一旦你创建了Razor Class Library(RCL)项目,然后就可以将其用到很多项目中。使用了Razor Class Library的应用程序,可以很灵活的重写其视图,以及页面。在接下来的文章中,我将会详细学习Razor Class Library项目。


Angular、React.js、React.js and Redux

你同样可以选择,这三个模板来创建ASP.NET Core Web应用程序。因为这三个用到了前端的框架,后面在学习。

在下篇文章中,我将带领大家学习,ASP.NET Core 项目的文件,目录结构。这篇文章中,我向大家介绍了,各个模板创建ASP.NET Core Web应用程序的区别。

每天学一点,每天积累一天,进步就不止一点点!

相关推荐

深入解析 MySQL 8.0 JSON 相关函数:解锁数据存储的无限可能

引言在现代应用程序中,数据的存储和处理变得愈发复杂多样。MySQL8.0引入了丰富的JSON相关函数,为我们提供了更灵活的数据存储和检索方式。本文将深入探讨MySQL8.0中的JSON...

MySQL的Json类型个人用法详解(mysql json类型对应java什么类型)

前言虽然MySQL很早就添加了Json类型,但是在业务开发过程中还是很少设计带这种类型的表。少不代表没有,当真正要对Json类型进行特定查询,修改,插入和优化等操作时,却感觉一下子想不起那些函数怎么使...

MySQL的json查询之json_array(mysql json_search)

json_array顾名思义就是创建一个数组,实际的用法,我目前没有想到很好的使用场景。使用官方的例子说明一下吧。例一selectjson_array(1,2,3,4);json_array虽然单独...

头条创作挑战赛#一、LSTM 原理 长短期记忆网络

#头条创作挑战赛#一、LSTM原理长短期记忆网络(LongShort-TermMemory,LSTM)是一种特殊类型的循环神经网络(RNN),旨在解决传统RNN在处理长序列数据时面临的梯度...

TensorBoard最全使用教程:看这篇就够了

机器学习通常涉及在训练期间可视化和度量模型的性能。有许多工具可用于此任务。在本文中,我们将重点介绍TensorFlow的开源工具套件,称为TensorBoard,虽然他是TensorFlow...

图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比

本文约4600字,建议阅读10分钟本文介绍了图神经网络版本的对比。KolmogorovArnoldNetworks(KAN)最近作为MLP的替代而流行起来,KANs使用Kolmogorov-Ar...

kornia,一个实用的 Python 库!(python kkb_tools)

大家好,今天为大家分享一个实用的Python库-kornia。Github地址:https://github.com/kornia/kornia/Kornia是一个基于PyTorch的开源计算...

图像分割掩码标注转YOLO多边形标注

Ultralytics团队付出了巨大的努力,使创建自定义YOLO模型变得非常容易。但是,处理大型数据集仍然很痛苦。训练yolo分割模型需要数据集具有其特定格式,这可能与你从大型数据集中获得的...

[python] 向量检索库Faiss使用指北

Faiss是一个由facebook开发以用于高效相似性搜索和密集向量聚类的库。它能够在任意大小的向量集中进行搜索。它还包含用于评估和参数调整的支持代码。Faiss是用C++编写的,带有Python的完...

如何把未量化的 70B 大模型加载到笔记本电脑上运行?

并行运行70B大模型我们已经看到,量化已经成为在低端GPU(比如Colab、Kaggle等)上加载大型语言模型(LLMs)的最常见方法了,但这会降低准确性并增加幻觉现象。那如果你和你的朋友们...

ncnn+PPYOLOv2首次结合!全网最详细代码解读来了

编辑:好困LRS【新智元导读】今天给大家安利一个宝藏仓库miemiedetection,该仓库集合了PPYOLO、PPYOLOv2、PPYOLOE三个算法pytorch实现三合一,其中的PPYOL...

人工智能——图像识别(人工智能图像识别流程)

概述图像识别(ImageRecognition)是计算机视觉的核心任务之一,旨在通过算法让计算机理解图像内容,包括分类(识别物体类别)、检测(定位并识别多个物体)、分割(像素级识别)等,常见的应用场...

PyTorch 深度学习实战(15):Twin Delayed DDPG (TD3) 算法

在上一篇文章中,我们介绍了DeepDeterministicPolicyGradient(DDPG)算法,并使用它解决了Pendulum问题。本文将深入探讨TwinDelayed...

大模型中常用的注意力机制GQA详解以及Pytorch代码实现

分组查询注意力(GroupedQueryAttention)是一种在大型语言模型中的多查询注意力(MQA)和多头注意力(MHA)之间进行插值的方法,它的目标是在保持MQA速度的同时...

pytorch如何快速创建具有特殊意思的tensor张量?

专栏推荐正文我们通过值可以看到torch.empty并没有进行初始化创建tensor并进行随机初始化操作,常用rand/rand_like,randint正态分布(0,1)指定正态分布的均值还有方差i...