首页 > 其他分享 >Blazor实战——Known框架快速开始

Blazor实战——Known框架快速开始

时间:2023-05-19 14:56:09浏览次数:61  
标签:实战 uploadPath Initialize KIMS 配置 -- Known new Blazor

Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。
开源地址: https://gitee.com/known/Known

1. 安装项目模板并创建新项目

  • 打开命令行输入如下命令安装和创建。
-- 安装模板
dotnet new install KnownTemplate
-- 创建项目
dotnet new known --name=KIMS

说明:KIMS为测试项目名称

  • 安装和创建成功后,项目文件夹自动生成如下内容
├─KIMS          ->项目前后端共用库,客户端和实体类等。
├─KIMS.Client   ->Web前端,Blazor WebAssembly。
├─KIMS.Core     ->项目后端库,控制器、服务、数据访问等。
├─KIMS.Razor    ->项目前端库,模块页面和表单。
├─KIMS.Server   ->Web后端。
├─KIMS.WinForm  ->WinForm窗体及Razor页面。
├─KIMSAlone     ->桌面exe程序。
├─KIMS.db       ->默认SQLite数据库。
├─KIMS.sln      ->VS解决方案文件。

2. 打开解决方案配置应用

  • 使用 VS2022 打开 KIMS.sln 文件,打开 KIMS 项目下 AppConfig.cs 文件,配置App名称,示例代码如下:
public class AppConfig
{
    public static void Initialize()
    {
        Config.AppId = "KIMS";                           //系统ID,自动生成,默认项目名称
        Config.AppName = "Known管理系统";                 //在此配置你的系统名称
        Config.SysVersion = "1.0.0";                     //系统版本号
        Config.AppAssembly = typeof(AppConfig).Assembly; //实体模型程序集,用于模块管理配置列表字段

        PagingCriteria.DefaultPageSize = 20;             //默认分页大小
        DicCategory.AddCategories<AppDictionary>();      //自动加载数据字典类别,在AppDictionary中增加类别
        Cache.AttachCodes(typeof(AppConfig).Assembly);   //自动加载CodeTable特性类常量进入缓存
        //在此配置你的系统其他全局配置
    }
}

3. 配置后端数据库连接

  • 打开 KIMS.Server 项目文件,添加你的系统使用的数据库访问包,常用数据库包如下
-- SQLite
<PackageReference Include="Microsoft.Data.Sqlite" Version="7.0.5" />
-- Access
<PackageReference Include="System.Data.OleDb" Version="7.0.0" />
-- MySQL
<PackageReference Include="MySqlConnector" Version="2.2.5" />

-- 打开项目下 AppServer.cs 文件修改数据库连接,示例代码如下:

class AppServer
{
    internal static void Initialize(WebApplicationBuilder builder)
    {
        //配置环境目录
        KCConfig.WebRoot = builder.Environment.WebRootPath;
        KCConfig.ContentRoot = builder.Environment.ContentRootPath;
        //读取appsettings.json配置
        var configuration = builder.Configuration;
        var dbFile = configuration.GetSection("DBFile").Get<string>();//数据库配置
        var uploadPath = configuration.GetSection("UploadPath").Get<string>();//上传文件存储路径
        Initialize(dbFile, uploadPath);
    }

    internal static void Initialize(string? dbFile, string? uploadPath)
    {
        //初始化配置
        AppConfig.Initialize();
        AppCore.Initialize();
        //转换绝对路径
        var path = KCConfig.ContentRoot;
        dbFile = Path.GetFullPath(Path.Combine(path, dbFile));
        uploadPath = Path.GetFullPath(Path.Combine(path, uploadPath));
        //注册数据访问提供者和初始化数据库连接
        Database.RegisterProviders(new Dictionary<string, Type>
        {
            ["SQLite"] = typeof(Microsoft.Data.Sqlite.SqliteFactory)
        });
        var connInfo = new Known.Core.ConnectionInfo
        {
            Name = "Default",
            ProviderName = "SQLite",
            ConnectionString = $"Data Source={dbFile};"
        };
        KCConfig.App = new AppInfo
        {
            Connections = new List<Known.Core.ConnectionInfo> { connInfo },
            UploadPath = uploadPath
        };
    }
}

4. 配置完成运行项目

  • 到此简单配置已完成,现在可以点击VS运行 KIMS.Server 项目啦,运行效果如下:
    image

标签:实战,uploadPath,Initialize,KIMS,配置,--,Known,new,Blazor
From: https://www.cnblogs.com/known/p/17415108.html

相关文章

  • docker exec unknown shorthand flag: 'i' in -it
    当你使用的是以下图中的命令时:出现以上的报错,那就是因为tomcat这个容器中没有ping命令,需要单独下载。先进入容器:dockerexec-it容器名或容器id/bin/bash进入容器执行,apt-getinstallnet-tools命令再执行,apt-getinstalliputils-ping命令容器不停止退出:Ctrl+P+Q然后再次......
  • 界面控件DevExpress Blazor UI v22.2 - 报表、富文本编辑器组件增强
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具,该组件拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应用提供直观的解决方案,全面解决各种使用场......
  • 上海丨阿里云 Serverless 技术实战营邀你来玩!
    活动简介本次沙龙深度探讨“Serverless在中国企业的落地和开发者实操”主题,我们特别邀请了来自阿里云一线技术专家,分享当前Serverless趋势和落地实践过程中的挑战和机遇;带来数据库Serverless技术架构及应用实践;浅析云原生时代开发者需要的Serverless能力,为开发者日常......
  • 小D-新版接口自动化教程- 接口自动化测试综合实战
    mysql安装:Win10安装MySQL5.7(图文详解)_51CTO博客_win10安装mysql5.7下载navicat若连接mysql报错:关于连接MySQL8.0.11出现2059错误(baidu.com)......
  • 【蜡烛图】035期-成交量实战技法
            ......
  • [SEO知识讲解] 百度推出惊雷算法SEO大神100条实战经验(二)!(完结)
    本文转载自:[SEO知识讲解]百度推出惊雷算法SEO大神100条实战经验(二)!(完结)更多内容请访问钻芒博客:https://www.zuanmang.net[SEO知识讲解]百度推出惊雷算法SEO大神100条实战经验(一)接后续:四、关键词研究57、关键字是你的指南针——如果你不了解你的关键词,你不知道你的关键词......
  • [SEO知识讲解] 百度推出惊雷算法 SEO大神100条实战经验(一)
    本文转载自:[SEO知识讲解]百度推出惊雷算法SEO大神100条实战经验(一)更多内容请访问钻芒博客:https://www.zuanmang.net文章是老的,东西是好(经典)的。做SEO的必读!这是一篇翻译的文章,原作者是BrianDean,一个很厉害的SEO工作者。他通过自身5年的SEO工作经验总结了100个经验教训,涉......
  • [网站优化] SEO大神100条实战经验(一)
    本文转载自:[网站优化]SEO大神100条实战经验(一)更多内容请访问钻芒博客:https://www.zuanmang.net本帖最后由lao123465于2019-8-2811:55编辑文章是老的,东西是好(经典)的。做SEO的必读!这是一篇翻译的文章,原作者是BrianDean,一个很厉害的SEO工作者。他通过自身5年的SEO工作......
  • [网站优化] SEO大神100条实战经验(二)!(完结)
    本文转载自:[网站优化]SEO大神100条实战经验(二)!(完结)更多内容请访问钻芒博客:https://www.zuanmang.net本帖最后由lao123465于2019-8-2909:18编辑SEO大神100条实战经验(一)http://bbs.zhanzhang.baidu.com/thread-2184630-1-1.html接后续:四、关键词研究57、关键字是你的指......
  • linux网络管理实战-->理论篇
    前文回顾:linux网络管理文章目录linux网络管理实战-->理论篇网络通信模型OSI模型TCP/IP模型TCP/IP协议族进制转换十进制二进制位权加减法计算机存储单位换算linux网络管理实战–>理论篇网络通信模型OSI模型OSI简介:OpenSystemInterconnection开放系统互联模型,它是由国际标准化组......