.NET Core 是微软开发的跨平台、开源的开发框架,它允许开发者构建适用于 Windows、Linux 和 macOS 的应用程序。本文将带你在 CentOS 6.5 系统上轻松上手.NET Core,并提供一些实战案例详解。
一、准备工作
1. 安装 CentOS 6.5
首先,确保你的服务器已经安装了 CentOS 6.5。你可以从官方网站下载 CentOS 安装镜像,并按照官方指南进行安装。
2. 安装依赖项
.NET Core 需要一些依赖项才能在 CentOS 6.5 上运行。以下是一些常见的依赖项:
sudo yum install -y libicu libssl libuuid libaio
3. 安装 .NET Core SDK
接下来,我们需要安装 .NET Core SDK。首先,从 .NET Core 官方网站下载适合 CentOS 6.5 的 SDK 版本。
sudo yum install -y dotnet-sdk-<version>
将 <version> 替换为下载的 SDK 版本号。
二、.NET Core 基础教程
1. 创建项目
使用以下命令创建一个新的 .NET Core 控制台应用程序:
dotnet new console -n HelloDotNetCore
这将创建一个名为 HelloDotNetCore 的新项目。
2. 编写代码
进入项目目录,并打开 Program.cs 文件:
cd HelloDotNetCore
code Program.cs
修改 Program.cs 文件,添加以下代码:
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, .NET Core!");
}
}
3. 运行应用程序
在项目目录中,运行以下命令来编译并运行应用程序:
dotnet run
你应该会看到控制台输出 “Hello, .NET Core!“。
三、实战案例详解
1. 使用 Entity Framework Core 进行数据库操作
在这个案例中,我们将使用 Entity Framework Core 来操作一个简单的数据库。
首先,创建一个新的 .NET Core Web API 项目:
dotnet new webapi -n DotNetCoreDatabaseExample
进入项目目录,并添加 Entity Framework Core 依赖项:
cd DotNetCoreDatabaseExample
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools
创建一个新的模型类 Person:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
创建一个数据上下文类 ApplicationDbContext:
using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : DbContext
{
public DbSet<Person> People { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=DotNetCoreDatabaseExample;Trusted_Connection=True;");
}
}
在 Startup.cs 文件中,注册 ApplicationDbContext:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>();
// ... 其他服务配置 ...
}
创建一个控制器 PeopleController:
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
[Route("api/[controller]")]
[ApiController]
public class PeopleController : ControllerBase
{
private readonly ApplicationDbContext _context;
public PeopleController(ApplicationDbContext context)
{
_context = context;
}
// GET: api/People
[HttpGet]
public async Task<ActionResult<IEnumerable<Person>>> GetPeople()
{
return await _context.People.ToListAsync();
}
// POST: api/People
[HttpPost]
public async Task<ActionResult<Person>> PostPerson(Person person)
{
_context.People.Add(person);
await _context.SaveChangesAsync();
return CreatedAtAction(nameof(GetPeople), new { id = person.Id }, person);
}
}
现在,你可以使用 Postman 或其他 HTTP 客户端来测试 API。
2. 使用 ASP.NET Core SignalR 进行实时通信
在这个案例中,我们将使用 ASP.NET Core SignalR 来实现实时通信。
创建一个新的 ASP.NET Core Web API 项目:
dotnet new webapi -n DotNetCoreSignalRExample
进入项目目录,并添加 SignalR 依赖项:
cd DotNetCoreSignalRExample
dotnet add package Microsoft.AspNetCore.SignalR
在 Startup.cs 文件中,注册 SignalR:
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR();
// ... 其他服务配置 ...
}
创建一个 SignalR 服务器端控制器 ChatHub:
using Microsoft.AspNetCore.SignalR;
public class ChatHub : Hub
{
public async Task Send(string message)
{
await Clients.Caller.SendAsync("ReceiveMessage", message);
}
}
创建一个客户端控制器 ChatController:
using Microsoft.AspNetCore.SignalR;
using Microsoft.AspNetCore.Mvc;
[Route("api/[controller]")]
[ApiController]
public class ChatController : ControllerBase
{
private readonly HubContext<ChatHub> _hubContext;
public ChatController(HubContext<ChatHub> hubContext)
{
_hubContext = hubContext;
}
// POST: api/Chat
[HttpPost]
public async Task<IActionResult> PostChat(string message)
{
await _hubContext.Clients.All.SendAsync("ReceiveMessage", message);
return Ok();
}
}
现在,你可以使用 Postman 或其他 HTTP 客户端来测试 SignalR API。
四、总结
本文介绍了如何在 CentOS 6.5 系统上轻松上手 .NET Core,并提供了一些实战案例详解。希望这篇文章能帮助你更好地理解 .NET Core 的基本概念和实际应用。
