解决.net core 使用 Microsoft.Data.SqlClient 连接低版本 sql server 问题

在使用 `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

abp vnext 使用备注之微服务

从 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

abp vnext 使用之日期时间

abp 自带了一个 IClock接口,用来控制获取当前时间。 因为 DateTime.Now 本身默认情况下 是缺省timezone 的,所以,为了避免在系统中,不同的地方,获取的datetime 可能存在不一样的问题,统一抽象出一个 IClock 接口。 在 AbpClockOptions 中可以配置全局默认的DateTimeKind,如果希望使用 系统默认使用 UTC 的 Now, 可以配置 Kind 为 UTC,此配置默认是 Unspecified ,即未指定。 Read more

1