XCoder 项目使用教程
1. 项目的目录结构及介绍
XCoder 项目的目录结构如下:
XCoder/
├── NewLife.Core/
│ ├── Config/
│ ├── Data/
│ ├── Log/
│ ├── Model/
│ ├── Net/
│ ├── Security/
│ ├── Serialization/
│ ├── Threading/
│ ├── Util/
│ └── XCode/
├── NewLife.XCode/
│ ├── Common/
│ ├── Config/
│ ├── Entity/
│ ├── Model/
│ ├── Provider/
│ └── Session/
├── NewLife.XApi/
│ ├── Controllers/
│ ├── Models/
│ └── Views/
├── NewLife.Agent/
│ ├── Services/
│ └── Work/
├── NewLife.Cube/
│ ├── Areas/
│ ├── Controllers/
│ ├── Models/
│ ├── Views/
│ └── wwwroot/
├── NewLife.Web/
│ ├── Controllers/
│ ├── Models/
│ └── Views/
├── NewLife.Agent.Host/
├── NewLife.Cube.Host/
├── NewLife.Web.Host/
├── NewLife.XApi.Host/
├── NewLife.XCode.Host/
├── NewLife.Core.sln
├── NewLife.XCode.sln
├── NewLife.XApi.sln
├── NewLife.Cube.sln
├── NewLife.Web.sln
├── NewLife.Agent.sln
└── README.md
目录结构介绍
NewLife.Core/
: 核心库,包含配置、日志、模型、网络、安全、序列化、线程和工具类等。NewLife.XCode/
: 数据操作库,包含通用类、配置、实体、模型、提供者和会话等。NewLife.XApi/
: API 库,包含控制器、模型和视图等。NewLife.Agent/
: 服务库,包含服务和工作等。NewLife.Cube/
: 管理界面库,包含区域、控制器、模型、视图和静态资源等。NewLife.Web/
: Web 库,包含控制器、模型和视图等。NewLife.Agent.Host/
: 服务宿主项目。NewLife.Cube.Host/
: 管理界面宿主项目。NewLife.Web.Host/
: Web 宿主项目。NewLife.XApi.Host/
: API 宿主项目。NewLife.XCode.Host/
: 数据操作宿主项目。*.sln
: 解决方案文件,用于在 Visual Studio 中打开项目。README.md
: 项目说明文档。
2. 项目的启动文件介绍
XCoder 项目的启动文件主要位于各个宿主项目的 Program.cs
和 Startup.cs
文件中。
Program.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
namespace NewLife.Web.Host
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
Startup.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace NewLife.Web.Host
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}