心雨纷扬的博客

一个简单的博客

Abp vNext 学习第二弹 - 创建服务端

创建解决方案

参考上一篇 :Abp vNext 学习(1).

创建书籍实体

启动模板中的领域层分为两个项目:

  • Acme.BookStore.Domain包含你的实体, 领域服务和其他核心域对象.
  • Acme.BookStore.Domain.Shared包含可与客户共享的常量,枚举或其他域相关对象.

在解决方案的领域层(Acme.BookStore.Domain项目)中定义你的实体.

该应用程序的主要实体是Book. 在Acme.BookStore.Domain项目中创建一个 Books 文件夹(命名空间),并在其中添加名为 Book 的类,如下所示:

阅读全文 »

Abp vNext 学习第一弹

在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的:

  • Entity Framework Core 做为数据库提供程序.
  • MVC / Razor Pages 做为UI框架.

先决条件

开发计算机上应安装以下工具:

一个集成开发环境 (比如: Visual Studio) 它需要支持 .NET 7.0+ 的开发.

Node v16 或 v18

Yarn v1.20+ (不是v2) 1 或 npm v6+ (已跟随Node一起安装)

Redis (启动解决方案使用 Redis 作为 分布式缓存).

安装 Abp CLI

dotnet tool install -g Volo.Abp.Cli

Abp Cli

创建新项目

abp new Acme.BookStore -dbms MYSQL -cs 'Server=xyfy-out.mysql.rds.aliyuncs.com;Database=Acme;User Id=dev;Password=Dzd@2020'

数据库连接字符串仅供参考,实际不能访问。

tiered结构 abp new Acme.BookStore --tiered

阅读全文 »

更改wsl2的存储位置(以docker,Ubuntu为例)

docker

  1. 退出docker

  2. 查看docker挂载信息wsl --list -v

  3. 导出、注销、导入docker-data,其中需要建立对应文件夹wsl\docker-data,wsl\docker,wsl\docker-

    1
    2
    3
    wsl --export docker-desktop-data "E:\wsl\wsl-data\docker-desktop-data.tar"
    wsl --unregister docker-desktop-data
    wsl --import docker-desktop-data "E:\wsl\docker\data" "E:\wsl\wsl-data\docker-desktop-data.tar" --version 2
  4. 导出、注销、导入docker-desktop

    1
    2
    3
    4
    wsl --export docker-desktop "E:\wsl\wsl-data\docker-desktop.tar"
    wsl --unregister docker-desktop
    wsl --import docker-desktop "E:\wsl\docker\desktop" "E:\wsl\wsl-data\docker-desktop.tar" --version 2

阅读全文 »

Gitlab EE安装与破解

安装

设置卷的路径

在设置其他所有内容之前,配置指向配置、日志和数据文件所在的目录的新环境变量。确保目录存在并授予适当的权限。$GITLAB_HOME

linux用户设置为/srv/gitlab

1
export GITLAB_HOME=/srv/gitlab
阅读全文 »

Deploy in Ubuntu –dev

System Init

阿里云上的ECS

数据盘挂载【按需操作】

1
2
3
4
5
6
7
$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt autoremove
$ sudo fdisk -l
# 执行命令后,如果不存在/dev/vdb,表示您的实例没有数据盘。确认数据盘是否已挂载。
$ sudo fdisk -u /dev/vdb # 执行后输入n开始新分区,后续均可回车使用默认值,最后输入 w 保存

阅读全文 »

vscode 插件列表 推荐

  • auto-close-tag
  • Auto Rename Tag
  • eslint 代码格式校验
  • githistory git工具
  • gitlens 强大的git工具
  • guides 代码指南
  • prettier 代码格式化
  • todo-highlight TODO高亮工具
  • vetur vue感知++
  • vscode intellicode

通用枚举遍历

如果你确认你的枚举类型是 int32,可以使用以下方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

/// <summary>
/// 将一个指定的枚举定义(Int)转换成集合对象.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static void ToList<T>() where T:Enum
{
Array datas = Enum.GetValues(typeof(T));

for (var i = 0; i < datas.Length; i++)
{
object value = datas.GetValue(i);
Console.WriteLine("{0,-9} {1}", value + ":",
(int)value);
//需要注意的是这里的强转(int)value ,所以这里需要你事先确认枚举基础类型,如果是byte,此处会抛出异常
}
}

阅读全文 »

C#控制台启动程序或者执行命令

C#启动程序

调用示例

1
StartAConsoleProcess(ygcApiExePath);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
private static void StartAConsoleProcess(string exePath, params string[] cmdText)
{
Process p = new Process();
p.StartInfo = new ProcessStartInfo(exePath);
p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动

if (exePath.Contains(Path.DirectorySeparatorChar))
{
var file = new FileInfo(exePath);
p.StartInfo.WorkingDirectory = file.Directory.FullName;
}

p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
p.StartInfo.CreateNoWindow = true;//不显示程序窗口
p.OutputDataReceived += YgcApi_OutputDataReceived;
p.ErrorDataReceived += YgcApi_ErrorDataReceived;
p.Start();
p.BeginOutputReadLine();
p.BeginErrorReadLine();
if (cmdText.Length > 0)
{
foreach (var item in cmdText)
{
p.StandardInput.WriteLine(item);
//向cmd窗口发送输入信息
p.StandardInput.AutoFlush = true;
}
}
}
阅读全文 »

windows删除无法访问的文件

现象

通过文件/文件夹的属性的安全选项卡,无法修改所有者和权限

界面上提示:win10 你没有权限查看或编辑这个对象

解决办法

按下 (Windows 徽标键 +X键),点击“命令提示符(管理员)”,复制以下命令并在命令提示符中点击鼠标右键,点击“粘贴”,随后按回车键(Enter)执行:

del /Q '待删除文件路径'

命令完成后重新启动计算机,查看截图3.png是否依然存在,如果存在,再次打开命令提示符(管理员)复制以下命令并粘贴执行:

1
ATTRIB 待删除文件路径>%temp%\pngA.txt & FSUTIL usn readdata 待删除文件路径>>%temp%\pngA.txt & icacls 待删除文件路径>>%temp%\pngA.txt & %temp%\pngA.txt

我试过执行完第一个命令,然后重启电脑就正常了。

参考文档

  • https://answers.microsoft.com/zh-hans/windows/forum/all/win10/52534abd-6c42-41cd-8f8e-14bda4132d4c