/ZStack.Framework

ZStack-一个基于.NET8的快速开发框架

Primary LanguageC#MIT LicenseMIT

ZStack快速开发框架

.NET基础库: Nuget Nuget

ASP .NET Core基础库: Nuget

ASP .NET Core组件库:Nuget Nuget Nuget

1. 开始使用

1.1 使用脚手架创建项目

1.2 手动创建项目

控制台程序

  1. 添加NuGet程序包 ZStack.Extensions

  2. Program.cs

global using Microsoft.Extensions.DependencyInjection;
global using Serilog;
global using ZStack.Core;

var sp = DependencyInjection.CreateConsoleAppServiceProvider(configure => { });

var logger = sp.GetRequiredService<ILogger>()
    .ForContext<Program>();

logger.Information("Hello, World!");

ASP .NET Core

  1. 添加NuGet程序包 ZStack.AspNetCore

  2. GlobalUsings.cs

global using Furion;
global using ZStack.AspNetCore;
global using App = ZStack.AspNetCore.App;
  1. Program.cs
var builder = WebApplication.CreateBuilder(args).InjectZStack();

var app = builder.Build();

app.Run();
  1. Startup.cs
/// <summary>
/// 应用启动配置
/// </summary>
public class Startup : AppStartup
{
    /// <summary>
    /// 服务配置
    /// </summary>
    /// <param name="services"></param>
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews().AddInject();
    }

    /// <summary>
    /// 中间件配置
    /// </summary>
    /// <param name="app"></param>
    /// <param name="env"></param>
    public void Configure(IApplicationBuilder app, IHostEnvironment env)
    {
        ...
        app.UseRouting();
        ...

        app.UseZStackInject();
    }
}

2. 项目结构

graph TD;
    ZStack.Core --> ZStack.Extensions;
    ZStack.Extensions --ASP .NET Core--> ZStack.AspNetCore;
    ZStack.AspNetCore --> ZStack.AspNetCore.SqlSugar;
    ZStack.AspNetCore --> ZStack.AspNetCore.EventBus;
    ZStack.AspNetCore --> ZStack.AspNetCore.Hangfire;
    ZStack.AspNetCore.Hangfire --> ..MemoryStorage;
    ZStack.AspNetCore.Hangfire --> ..Redis;
    ZStack.AspNetCore.Hangfire --> ..PostgreSql;