.NET6入门:2.使用模板创建.NET Core Web

这篇具有很好参考价值的文章主要介绍了.NET6入门:2.使用模板创建.NET Core Web。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

                在目前B/S盛行的时代,本文将通过创建一个.NET Core Web模板的方式来带领大家进入.NET6开发的大门。

1. 创建.NET Core Web应用

        1.1 打开Visual Studio(不同版本VS可能创建新项目所在位置不同),单击创建新项目。

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

        1.2 选择C#语言和Web平台,在下面的项目中选中ASP.NET Core Web应用(模型-试图-控制器)后,单击下一步。

        PS:该处作者选择的为包含示例的Web应用。

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

         1.3 输入项目名称并选择项目要存放的位置后单击下一步。

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

         1.4 框架选择.NET 6.0。根据需要勾选配置HTTPS(H)和启用Docker(E)。单击创建。

        PS:该处作者并未勾选配置HTTPS和启用Docker。

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

 2. .NET Core Web应用结构

        创建好Web应用后将进入到项目界面。

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

         2.1 DemoWeb项目为刚刚从创建的Web应用。

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

        2.2 Properties——launchSettings.json        启动配置文件

{
  "iisSettings": { //IIS配置
    "windowsAuthentication": false, //IIS是否启用 Windows 身份验证
    "anonymousAuthentication": true, //IIS是否启用匿名身份验证
    "iisExpress": {
      "applicationUrl": "http://localhost:45024", //指定 IIS 服务器的地址
      "sslPort": 0 //指定IIS 服务器的https端口
    }
  },
  "profiles": { //运行的方式,可配置多个环境
    "DemoWeb": {
      "commandName": "Project",
      "dotnetRunMessages": true, //是否在运行时给予反馈信息
      "launchBrowser": true, //表示应用程序的时候是否自动启动浏览器
      "applicationUrl": "http://localhost:5204", //应用程序采用的URL列表,多个URL之间采用分号(“;”)进行分隔。
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development" //环境变量(用来表示当前的部署环境)
      }
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

        2.3 wwwroot——用于存放web访问的静态资源文件

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

         2.4 Controller——MVC中的C。控制器。——>业务逻辑层。

                Models——MVC中的M。模型。——>数据访问层。

                Views——MVC中的V。视图。——>UI展示层。

       

        2.5 appsettings.json

                该文件下面会存在多个环境变量的配置。

                当launchSettings.json中ASPNETCORE_ENVIRONMENT值为Development时会使用

                appsettings.Development.json。其他配置同理,修改ASPNETCORE_ENVIRONMENT将读取不同环境的json。

        

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

        2.6 Program.cs

//WebApplication为整个Web应用程序
//CreateBuilder()方法创建一个WebApplicationBuilder 对象
var builder = WebApplication.CreateBuilder(args);

//添加服务。可通过builder.Services.AddXXX的方式添加想要添加的服务
// Add services to the container.
builder.Services.AddControllersWithViews();

//构造一个 WebApplication 实例
var app = builder.Build();

//app.Environment用来获取当前Web应用程序的环境变量
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
}

//启用静态文件中间件,加上这行代码后, 我们在浏览器中才能访问 wwwroot 目录下的文件,否则会报错
app.UseStaticFiles();

//启用路由中间件
app.UseRouting();

//启用权限验证中间件,当我们的网站是基于身份认证的话需要用到
app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();


 

3..NET Core Web中的MVC简单介绍

        3.1 以下代码为Controllers目录下的HomeController.cs文件中的代码

using DemoWeb.Models;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;

namespace DemoWeb.Controllers
{
    /// <summary>
    /// MVC中的控制器需继承Controller
    /// </summary>
    public class HomeController : Controller
    {
        /// <summary>
        /// ILogger微软自带的日志服务
        /// </summary>
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            //实例化日志服务
            _logger = logger;
        }

        /// <summary>
        /// Index视图主方法——>Views/Home/Index.cshtml
        /// </summary>
        public IActionResult Index()
        {
            return View();
        }

        /// <summary>
        /// Privacy视图主方法——>Views/Home/Privacy.cshtml
        /// </summary>
        public IActionResult Privacy()
        {
            return View();
        }

        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
}

        3.1 在Program.cs中通过默认路由设置默认启动页面

//设置默认路由:pattern参数表示默认访问Home控制器下的Index Action所对应的页面
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

         按F5运行项目后效果如图:

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

        修改设置默认启动页面,代码如下:

//设置默认路由:pattern参数表示默认访问Home控制器下的Index Action所对应的页面
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Privacy}/{id?}");

        修改后运行效果如图:

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

         3.2 Model

                ErrorViewModel类中定义了RequestId、ShowRequestId两个字段。

namespace DemoWeb.Models
{
    public class ErrorViewModel
    {
        public string? RequestId { get; set; }

        public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
    }
}

                ErrorViewModel类在Controller中使用如下(注意要先引用Modedls的命名空间。例:using Models):

using DemoWeb.Models;


public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}

     ErrorViewModel类在Views中使用如下:

        1).@model ErrorViewModel——>表示指定ErrorViewModel模型。

        2).通过Model来访问该模型。例:@Model.RequestId

@model ErrorViewModel
@{
    ViewData["Title"] = "Error";
}

<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request.</h2>

@if (Model.ShowRequestId)
{
    <p>
        <strong>Request ID:</strong> <code>@Model.RequestId</code>
    </p>
}

<h3>Development Mode</h3>
<p>
    Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
</p>
<p>
    <strong>The Development environment shouldn't be enabled for deployed applications.</strong>
    It can result in displaying sensitive information from exceptions to end users.
    For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
    and restarting the app.
</p>

                以上代码实现效果如图:

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

        3.3 Views

                Views中的结构如下:

.NET6入门:2.使用模板创建.NET Core Web,.NET6从入门到放弃,microsoft,asp.net,windows

                 每个Controller会对应Views下的一个文件夹(除Shared)。Controller中的每个视图Action则对应文件夹下的xxx.cshtml。

                

                Views/Shared

                _Layout.cshtml——>母版页

                在该页面中存在@RenderBody()占位符,表示要显示的内容。

                Views/_ViewImports.cshtml

                该页面为全局引用文件。需要在页面添加命名空间时,统一放到该页面处理。     

                Views/_ViewStart.cshtml

                该页面中指定母版页。代码如下(该代码表示指定Shared下的_Layout.cshtml页面为母版页):

                

@{
    Layout = "_Layout";
}

                该章节大致介绍了如何创建一个.NET6框架下的Web项目,以及使用模板创建的项目结构,后续将详细介绍.NET Core Web中的其他内容。

                                                                                      观众老爷们,山水有相逢,咱们下期再会。文章来源地址https://www.toymoban.com/news/detail-521507.html

到了这里,关于.NET6入门:2.使用模板创建.NET Core Web的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ASP.NET Core Web API入门之三:使用EF Core

    一般来讲我们做项目都会用实体类跟数据库实体进行关系对应,这样的好处方便我们维护、增删改查,并且可以减少SQL的编写,从而统一风格,那么 Entity Framework Core 就是很不错的ORM框架。 1、跨数据库支持能力强大,只需修改配置就可以轻松实现数据库切换。 2、提升了开发效

    2024年02月10日
    浏览(40)
  • .NET Core/.NET6 使用DbContext 连接数据库,SqlServer

    安装以下NuGet包 Microsoft.EntityFrameworkCore.SqlServer:SQL server 需要添加包 Microsoft.EntityFrameworkCore.Tools Newtonsoft.Json:用于Json格式转换 创建一个实体类来表示数据库表。在项目中创建一个名为Customer.cs的文件,并添加以下代码 创建一个数据库上下文类,用于定义实体类和数据库连接

    2024年02月07日
    浏览(37)
  • 使用asp.net core web api创建web后台,并连接和使用Sql Server数据库

    前言:因为要写一个安卓端app,实现从服务器中获取电影数据,所以需要搭建服务端代码,之前学过C#,所以想用C#实现服务器段代码用于测试,本文使用C#语言,使用asp.net core web api组件搭建服务器端,并访问sql server 数据库。 一、安装Visual studio 2022 社区版,并安装ASP.NET和

    2024年02月14日
    浏览(38)
  • ASP.NET Core Web API入门之二:Swagger详细使用&路由设置

    本篇文章是Swagger的详细使用,续上篇ASP.NET Core Web API入门之一:创建新项目。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档。 根据在代码中使用自定义的注解来生成接口文档,这个在前后端分离的项目中很重要。这样做的

    2024年02月15日
    浏览(34)
  • 【服务器】ASP.Net Core(C#)创建Web站点

    简单几步实现本地ASP.Net.Core web 站点结合cpolar内网穿透工具实现远程访问 1. 创建站点 *环境搭建,这边测试,使用.NET 6.0 SDK,可以点击跳转到官网下载,下载后安装即可. 安装完成后,进入到某个文件夹,打开powershell执行下面命令,创建新的 Web 应用,名称叫:aspnetcoreapp 2. 运行站点 信任开

    2024年02月11日
    浏览(38)
  • 1.2 .net 8 ASP.NET Core Web API 项目创建之 Hello,World

    上一节演示了如何创建一个新的Web API 项目,并展示了如何运行及测试接口,这节的主要目标是增加一个hello的接口,接口返回内容为“Hello,World!”,在添加接口之前,我们先要对上一节的项目进行分析,只有了解项目的结构,才能知道怎么去添加新的接口和扩展新的功能。

    2024年01月20日
    浏览(35)
  • ASP.NET Core NET6 EFCore MySQL

    ASP.NET Core 下使用 EFCore 和 .NET Framework 下使用有点区别。 参考官方文档:https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core.html 1.创建 ASP.NET Core Web应用 项目 创建新的项目的 Program.cs 文件中使用了顶级语句,与NET5 有所区别。 .NET 6 的 创建的项目使用了C# 顶级语句 ht

    2024年02月07日
    浏览(39)
  • ASP.Net Core Web API结合Entity Framework Core框架(API的创建使用,接口前端权限设置,前端获取API的Get,post方法)(程序包引用以及导入数据库)

    目录 1. Web Api 程序包引用 2. Web Api 的创建与Http类型的介绍 2.1 ASP.Net Core Web API项目的创建 2 .2  API接口的创建 2.3 HttpGet和HttpPost类型的区别 3.接口权限设置 4.HttpGet方法和HttpPOst方法 5.前端中用HttpGet/Poset获取接口数据 6.EF框架——配置数据库链接字符串(即将数据库中的表导入项

    2024年02月08日
    浏览(49)
  • .NET6.0 EF Core连接sql

    1、先导入四个包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Relational Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.Tools 2、在程序包管理控制台执行 Scaffold-DbContext \\\"server=.;Integrated Security=true;database=DBStu\\\" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir Models Models是你实体类安放

    2024年02月06日
    浏览(39)
  • C# .NET CORE .NET6 RSA 公钥加密 私钥解密

    环境说明: .NET CORE 版本:.NET 6 。   .NET CORE 对于RSA的支持: 1. .NET 6 中内置了对 PKCS1,PKCS8 2种私钥格式的支持。 2. 如果你要部署在Linux,docker ,k8s 中;一定要用 “RSA”这个类,不能是 .NET FRAMEWORK 的 RSACryptoServiceProvider。 3. .NET 中默认加密算法为“RSA/ECB/PKCS1Padding” ,要和JAVA互通

    2024年02月08日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包