Happy coding everyday~~
在使用 `Microsoft.Data.SqlClient` 连接sql server 2012 的时候,报了一个错误: ``` A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed) ``` .net core 程序是跑在 docker 上, 单独部署到本地IIS上的时候却没有这个错误,因此猜测可能是 docker 基础镜像环境问题。 解决方法,在 dockerfile 上加上2行,修改环境内 linux tls ssl 支持的最低版本。 Read more
在编写 spark.net 应用的时候,需要连接 sql server 数据库, 使用 spark submit 运行的时候,发现提示 `java.sql.SQLException: No suitable driver`, 想想应该是没有对应的驱动,也就是指定的 `jdbc:sqlserver://` 无法识别。 因为 spark.net 底层是直接调用java的,所以,这里需要添加 java 的 sql server 驱动库。 Read more
从 https://docs.abp.io/en/abp/latest/API/Dynamic-CSharp-API-Clients 这里知道了如何配置将一个app server 配置为动态Http客户端代理。 简要归纳下: 假设:有服务A,服务B,服务C,和一个对外的Web ,其中 服务C依赖 服务B 。 1, 服务A,B,C,在 HttpApi.Client 层需通过AddHttpClientProxies 将各个服务的定义(Application.Contracts) 在这里注册。 2, 服务C 的应用层添加 B的 Application.Contracts 引用(或者package), 目的是可以在B里面使用B定义的app service . 3, 服务C 的Host层,需要添加 B 的Http代理层。目的是注册B的服务。否则会抛出 B的服务实现未注册的错误。 4, 对外的Web,需要添加 服务A,B,C 的Http代理层,原因同理。 Read more
通常,如果要启用ef 的logs 中加上SQL的参数值,需要在 AddDbContext<TDbContext> 中使用 options.EnableSensitiveDataLogging(true) 。 但是在ABP中,已经不需要显示调用AddDbContext了,这个配置要在这个位置添加。 Read more
abp 自带了一个 IClock接口,用来控制获取当前时间。 因为 DateTime.Now 本身默认情况下 是缺省timezone 的,所以,为了避免在系统中,不同的地方,获取的datetime 可能存在不一样的问题,统一抽象出一个 IClock 接口。 在 AbpClockOptions 中可以配置全局默认的DateTimeKind,如果希望使用 系统默认使用 UTC 的 Now, 可以配置 Kind 为 UTC,此配置默认是 Unspecified ,即未指定。 Read more
基于 System.Diagnostics.Process 构建。做了一些增强。比如:支持 async/await 和 Task 。在不产生死锁或争用条件的情况下,支持将标准IO流传输到各种源并从各种源传输。自动转义输入参数,避免安全漏洞。 Read more
通常,使用异步锁都是直接使用这个库 AsyncEx 中的 AsyncLock 。 先看看官方栗子: private readonly AsyncLock _mutex = new AsyncLock(); public async Task UseLockAsync() { // AsyncLock can be locked asynchronously using (await _mutex.LockAsync()) { // It's safe to await while the lock is held await Task.Delay(TimeSpan.FromSeconds(10)); } } 这个栗子的效果是如果有很多用户同时访问进来,里面的内容会 one by one 执行,不会出现同时执行的情况。 Read more
发现 Vmmem 进程占用的内容比较多,接近5GB了,这个是运行wsl2 VM 子系统的进程。从官方文档可以查看到,添加一个配置文件,可以对其进行限制。 Read more