在 .NET 官方的 Docker 镜像中,添加自定义工具链: FROM mcr.microsoft.com/dotnet/sdk:5.0 RUN apt-get update \ && apt-get install -y --no-install-recommends \[......]继续阅读

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

在 .NET 官方的 Docker 镜像中,添加自定义工具链: FROM mcr.microsoft.com/dotnet/sdk:5.0 RUN apt-get update \ && apt-get install -y --no-install-recommends \[......]继续阅读

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

public async Task ExecuteAsync(HttpContext context) { Context = context; Request = Context.Request;[......]继续阅读

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

public async Task ExecuteAsync(HttpContext context) { Context = context; Request = Context.Request;[......]继续阅读

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

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

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

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

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

public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilde[......]继续阅读

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

public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilder[......]继续阅读

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

处理 Stream 的一些用法。 public static byte[] GetAllBytes(this Stream stream) { using (var memoryStream = new MemoryStream()) {[......]继续阅读

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

Handling some usages of Stream. public static byte[] GetAllBytes(this Stream stream) { using (var memoryStream = new MemoryStream())[......]继续阅读

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

1, IServiceCollection 可以被替换服务。 ServiceDescriptor 可以通过 .Scoped() 等生成要注入的自定义服务。 public static IServiceCollection AddAbpDynamicOptions<TOptions, T[......]继续阅读

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

IServiceCollection can replace services. ServiceDescriptor can generate custom services to be injected using methods like .Scoped(). public sta[......]继续阅读

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

主要特点: 1,根据当前环境加载 appsettings.xxx.json 文件,或者加载其它 .json 配置文件。 2,AddCommandLine、AddEnvironmentVariables 从程序启动命令行参数和环境变量中导入配置。命令行参数需要以键值的形式填入,如 key1=value[......] 继续阅读

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

主要特点: 1,根据当前环境加载 appsettings.xxx.json 文件,或者加载其它 .json 配置文件。 2,AddCommandLine、AddEnvironmentVariables 从程序启动命令行参数和环境变量中导入配置。命令行参数需要以键值的形式填入,如 key1=value[......] 继续阅读

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

第一种: private bool IsDefaultValue(T value) { Span<byte> valueBytes = MemoryMarshal.AsBytes<T>(new T []{ value }.AsSpan());[......]继续阅读

2022年4月3日 0条评论 3464点热度 2人点赞 痴者工良 阅读全文

第一种: private bool IsDefaultValue(T value) { Span<byte> valueBytes = MemoryMarshal.AsBytes<T>(new T []{ value }.AsSpan());[......]继续阅读

2022年4月3日 0条评论 3422点热度 2人点赞 痴者工良 阅读全文

<ItemGroup> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0-preview.2.22152.2" /> <Packag[......]继续阅读

2022年3月31日 1条评论 4224点热度 1人点赞 痴者工良 阅读全文

<ItemGroup> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0-preview.2.22152.2"[......]继续阅读

2022年3月31日 1条评论 4049点热度 1人点赞 痴者工良 阅读全文

使用接口的另一个好处是,方便 mock。 要检验自己代码是否好,足够分离,是否过度设计等,给自己写完整的单元测试。 如果自己写的代码,单元测试很难写或者无从下手,那么就要考虑改进代码了。 首先在单元测试类中,mock 注入服务: public class BasketWebApiTest {[......]继续阅读

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

Using interfaces has another benefit: it facilitates mocking. To evaluate whether your code is good, properly separated, or over-designed, write compr[......] 继续阅读

2022年3月30日 0条评论 312点热度 0人点赞 痴者工良 阅读全文
191011121328