如何使用 ASP.NET Core 和 C# 编写博客

边干边学

在这篇文章中,我们将介绍使用 C# 特别是 .NET Core 3.0 创建自己的博客系统的基础知识。这一系列博客文章的目的是教你们编写自己的基本博客系统是多么容易,并希望能激发您创建自己的博客系统或将其用作更好或更大的基础的基础。

我学习的第一门语言是 C++,然后是 PHP,因为我真的很想建立网站、论坛、门户网站等等。

现在让我们开始做

所以你首先需要的是:

  • DotNet Core 3.0
  • 代码编辑器(Visual Studio 代码应该可以)
  • 您最喜欢的数据库(如果您愿意,我将使用LiteDB随时切换到 SQL 数据库。

请记住,本教程适用于中级开发人员,如果您从未使用过 C# 或 dotnet,那很好,我会在我们继续进行时进行解释,但需要一些先验的开发知识,尤其是了解如何数据库和如何编写基础知识SQL CRUD 语句。

好的!现在这已经超出了我们的范围,并且您已准备好工具。

我们要做的第一部分是运行

dotnet --version 

您正在寻找的输出是:

D:\Dayvi\Workspace\Tutorials\Blog series\Part one>dotnet --version
3.0.100

如果这不是您的输出或者有更新版本的 Dotnet 可用,那么本教程的某些部分可能与您的系统不同。

然后创建您的工作区文件夹,在其中打开命令提示符并运行

dotnet new web

如果一切顺利,您应该看到:

D:\Dayvi\Workspace\Tutorials\Blog series\Part one>dotnet new mvc
The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore/3.0-third-party-notices for details.
Processing post-creation actions...
Running 'dotnet restore' on D:\Dayvi\Workspace\Tutorials\Blog series\Part one\Part one.csproj...
Restore completed in 60,91 ms for D:\Dayvi\Workspace\Tutorials\Blog series\Part one\Part one.csproj.
Restore succeeded.

现在让我们通过简单地运行来打开我们的 Visual Studio 代码

code .

直接在命令提示符中,该命令中的句点告诉它在 Visual Studio 代码中打开当前文件夹。按 F5 进行调试,然后等待 Visual Studio 代码中弹出提示,询问您要使用哪个配置。只需选择 .NET Core 并按 Enter。

就像您的项目应该在调试模式下启动并运行一样。您也可以通过在项目所在的文件夹中打开命令提示符来运行它并运行

> dotnet build
> dotnet run

或者

dotnet watch run

欲了解更多信息,请阅读 dotnet watch

我个人喜欢

dotnet watch run

在我开发时最好,因为它会在您每次进行并保存更改时自动重新编译和重新启动您的应用程序。 

无论如何,在您以首选方法成功启动 dotnet MVC 应用程序后,您应该会看到如下消息:

info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000

在您喜欢的浏览器中打开这些地址中的任何一个(如果成功启动,它会自动为您提供 Visual Studio 和 Visual Studio 代码)。您不应该看到欢迎屏幕。

现在让我们创建我们的文件夹结构,完成后它应该看起来像这样:

├───App
├───bin
│   └───Debug
│       └───netcoreapp3.0
│           └───Properties
├───Controllers
├───Models
├───obj
│   └───Debug
│       └───netcoreapp3.0
│           └───staticwebassets
├───Properties
├───Views
└───wwwroot

没有什么太花哨,没有什么太疯狂。你们中的一些人可能想知道为什么我不简单地使用:

dotnet new mvc

好吧,我的理由很简单,我相信它附带了太多文件,我必须在全新安装之前删除这些文件。现在让我们回到 Visual Studio 代码,右键单击我们的模型文件夹(如果您使用的是 Visual Studio,请确保在项目中包含新创建的文件夹)并选择创建新 C# 类,如果您没有该选项安装推荐的 Visual Studio 代码扩展或更新 Visual Studio 代码。

为你的类命名

Model.cs

并将其编辑为如下所示:

using System;
namespaceBlog.Models {
    public class Model {
        // Everything needs and ID, not explanation required
        public string ID{get;set;} 
        
        // Will hold the original creation date of the field, 
        // the default value is set to DateTime.Now
        public DateTime Created {get;set;} = DateTime.Now; 
         // will hold the last updated date of the field
        ///will initially be set to DateTime.Now, but should be updated on every...update
        public DateTime Updated {get;set;} = DateTime.Now;
        public bool Deleted {get;set;} = false;
    }
}

这将是我们的基础模型类,所有其他模型都将从中继承,接下来让我们使用一个超级灵感和原始名称来创建我们的后期模型并调用它,你读到了吗?

Post.cs
namespace Blog.Models {
    public class Post : Model {
        public string Title {get;set;}
        public int Views {get;set;} = 0;
        public string Content {get;set;}
        public string Excerpt {get;set;}
        public string CoverImagePath {get;set;} 
        public bool Public {get;set;}
    }
}

如您所见,我们正在扩展 Model 类,这意味着 Post 类拥有 Model 拥有的所有成员,很好!