razor 页面字段属性命名规则 组件被调用 一个组件如果允许外部传递参数,需要使用 [Parameter] 修饰属性和大写命名。 <div class="card" style="width:22rem"> <div class="card-body"> <h3 class="card-title">@Title</h3> <p class="card-text">@ChildContent</p> </div> </div…

2022年9月15日 0条评论 1576点热度 0人点赞 痴者工良 阅读全文

MAUI Blazor 在 Windows 上使用的是 WebView2,MAUI Blazor 运行环境是跟程序没关系的,即使是系统设置了中文语言,程序集设置了中文,本地文化设置了中文,CultureInfo 设置了中文,统统都没有用。 你可以在程序启动后,按下 F12,然后执行 JavaScript 代码,检查浏览器的运行环境是何种语言: navigator.language 'en-US' 或者使用 API: // using Windows.Globalization var langs = Applica…

2022年9月15日 0条评论 2783点热度 2人点赞 痴者工良 阅读全文

修复系统缺少组件等问题: DISM.exe /Online /Cleanup-image /Scanhealth DISM.exe /Online /Cleanup-image /Checkhealth DISM.exe /Online /Cleanup-image /Restorehealth sfc /scannow [......] 继续阅读

2022年8月27日 0条评论 1754点热度 0人点赞 痴者工良 阅读全文

原作者:Joydip Kanjilal 原文地址:https://www.codemag.com/Article/2207031/Writing-High-Performance-Code-Using-SpanT-and-MemoryT-in-C 本文采用半译方式。 在本文中,将会介绍 C# 7.2 中引入的新类型:Span 和 Memory,文章深入研究 Span<T> 和 Memory<T> ,并演示如何在 C# 中使用它们。 本文所有代码用例在 .NET 6.0 下运行。 .NET 中…

2022年8月20日 0条评论 1892点热度 3人点赞 痴者工良 阅读全文

在 Mysql 中,批量插入自增列,是不能批量返回自增后的 Id,为了解决批量插入的问题,利用 Redis 的原子操作,实现无锁原子分配 自增 Id。 核心是在 Redis 中,保存表的最大 Id。 每次插入前,检查缓存 CacheId 跟数据库 MaxId 相比,如果 CacheId > MaxId,说明 CacheId 可以使用。这个阶段需要保证原子性。 插入前,需要向 Redis 申请获取一个范围的 Id,然后插入到数据库中。 定义接口: /// <summary> /// 自增列批量插入服…

2022年8月19日 0条评论 1770点热度 0人点赞 痴者工良 阅读全文

当集合为 null 时,代码如下: List<int>? _a = null; List<int>? _b = null; var a = _a?.Any() == false; var b = _a?.Any() == true; var c = _b?.Any() == false; var d = _b?.Any() == true; 当集合为 null 时,?.Any() == false 、?.Any() == tr[......] 继续阅读

2022年8月6日 0条评论 1970点热度 1人点赞 痴者工良 阅读全文

如下面代码: [ThreadStatic] private bool HasCreated = false; [ThreadStatic] private int Value = 0; void Main() { ThreadLocal<string> a = new ThreadLocal<string>(() => { if (HasCreated) return Value.ToString(); else { Value = Thread.CurrentThread.[....…

2022年8月4日 0条评论 2402点热度 1人点赞 痴者工良 阅读全文

Docker 部署: docker run -d \ --name=calibre-web \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -e DOCKER_MODS=linuxserver/mods:universal-calibre <code>#optional</code> \ -e OAUTHLIB_RELAX_TOKEN_SCOPE=1 <code>#optional</code> \ -p 8…

2022年7月28日 0条评论 3078点热度 3人点赞 痴者工良 阅读全文

执行 fdisk -l 会发现需要的磁盘。 可以看到这是一个空白盘。 开始执行命令将空白磁盘创建分区。 fdisk /dev/sdc 先输入 n。 ommand action <- 选择要创建的分区类型 e extended <- 扩展分区 p primary partition (1-4) <- 主分区 输入 p,再输入 1,剩下选项直接回车。 输入 w ,保存并退出。 格式化并设置磁盘系统: mkfs.ext4 /dev/sdc1 挂载 mount /dev/sdc1 /data/ 查看磁盘挂…

2022年7月28日 2条评论 2658点热度 1人点赞 痴者工良 阅读全文

目录结构: └─templates └─consolesync └─content ├─.template.config ├──template.json └─AAA.Web.API 模板目录 1,随便创建一个空目录,然后在里面创建一个 ,在 templates 下创建模板目录,这个命令起名要可以随意。S 目录。 2,在 templates 下创建模板目录,这个命令起名要可以随意。这个就是模板存储的目录。 3,模板目录创建两个目录,分别是 content 和 license,license[......] 继续阅读

2022年7月21日 0条评论 2602点热度 0人点赞 痴者工良 阅读全文

在不使用 ASP.NET Core 时,也不使用 FluentValidation 这里框架,通过原生的 API 实现模型验证。 public class A { [EmailAddress] public string B { get; set; } } void Main() { var result = new List<ValidationResult>(); var a = new A { B = "aa.com" }; var validationContext = new Validati…

2022年7月20日 0条评论 1872点热度 2人点赞 痴者工良 阅读全文

定义转换器: public class EnumStringConverter : JsonConverter<Enum> { public override bool CanConvert(Type objectType) { return objectType.IsEnum; } public override Enum Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { var v…

2022年7月18日 0条评论 3044点热度 4人点赞 痴者工良 阅读全文

在 .NET 官方的 Docker 镜像中,添加自定义工具链: FROM mcr.microsoft.com/dotnet/sdk:5.0 RUN apt-get update \ && apt-get install -y --no-install-recommends \ ssh-client \ && rm -rf /var/lib/apt/lists/* 在 Docker 容器中使用 Docker 命令: -u root -v /var/run/docker.sock:/va…

2022年7月12日 0条评论 2022点热度 1人点赞 痴者工良 阅读全文

public async Task ExecuteAsync(HttpContext context) { Context = context; Request = Context.Request; Response = Context.Response; var buffer = new MemoryStream(); Output = new StreamWriter(buffer, UTF8NoBOM, 4096, leaveOpen:[......]继续阅读

2022年7月5日 0条评论 869点热度 2人点赞 痴者工良 阅读全文

private static readonly Encoding UTF8NoBOM = new UTF8Encoding( encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true); [......] 继续阅读

2022年7月5日 0条评论 1954点热度 0人点赞 痴者工良 阅读全文

整体格式 大体格式定义 pipeline { // 全局环境变量 // environment { // IMAGENAME = 'webdemo' // 镜像名称 // } // Jenkins 上可以看到的参数 // parameters{ // string(name: 'REPO_NAME' ,defaultValue:'',description:'仓库名称',trim:true) // } agent { // 如何启动构建环境,Linux、Window[......]继续阅读

2022年6月29日 0条评论 1884点热度 2人点赞 痴者工良 阅读全文

public class TestNoopHostLifetime : IHostLifetime { public Task StopAsync(CancellationToken cancellationToken) { Console.WriteLine("程序停止"); return Task.CompletedTask; } public Task WaitForStartAsync(CancellationToken cancellationToken)[......]继续阅读

2022年6月24日 0条评论 2588点热度 2人点赞 痴者工良 阅读全文

public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilder>>() } { public interface IApplicationBuilder { IFeatureCollection ServerFeatures { get; } IDictionary<string,…

2022年6月24日 0条评论 1859点热度 1人点赞 痴者工良 阅读全文

处理 Stream 的一些用法。 public static byte[] GetAllBytes(this Stream stream) { using (var memoryStream = new MemoryStream()) { if (stream.CanSeek) { stream.Position = 0; } stream.CopyTo(memoryStream); return[......]继续阅读

2022年6月24日 0条评论 1948点热度 0人点赞 痴者工良 阅读全文

1, IServiceCollection 可以被替换服务。 ServiceDescriptor 可以通过 .Scoped() 等生成要注入的自定义服务。 public static IServiceCollection AddAbpDynamicOptions<TOptions, TManager>(this IServiceCollection services) where TOptions : class where TManager : AbpDynamicOptionsManager<…

2022年6月24日 0条评论 2116点热度 1人点赞 痴者工良 阅读全文
167891026