随笔分类 - .Net Core
摘要:首先,我这里使用的.net6 比如我有这样一个接口: public async Task<IActionResult> Download(string name) { //省略业务代码... return File(stream, "application/octet-stream", name);
阅读全文
摘要:很多公司电脑都是windows,而对用户的管理则很多采用AD域的形式来管理,本文简单的来介绍一下.NetCore中怎么接入AD域来实现登录等操作。 首先,我这里使用的是.net6,其它版本类似。 其次,这里假设你已经对AD域有了基本的了解,比如AD域所使用的LDAP、属性等,如果不了解先自行百度下。
阅读全文
摘要:记录一下EFCore执行自定义SQL报System.FormatException异常的问题,这个异常可能是“Input string was not in a correct format.”,也可能是其它格式化异常,比如:System.ArgumentException:“Format of t
阅读全文
摘要:PostgreSQ作为开源免费的数据库,现在正在火热的占据市场,它衍生产品,比如GaussDB在国产化替代中使用比较多,然而它们或多或少存在一个兼容问题,或者说是版本之间的问题,所以这里记录几个在使用过程中碰到的问题,做个笔记,后续有新的问题就再记录。 问题一:0A000: DISCARD stat
阅读全文
摘要:现在B/S开发基本都是前后端分离的方式了吧,那么这往往会涉及到一个跨域的问题,为了安全,跨域访问往往做了很多的限制,这里对跨域时自定义响应头做个笔记。 当我们在.NetCore的后端给请求添加了一个自定义的响应头的时候,通过api调用,响应头完美的返回: public class HomeContr
阅读全文
摘要:我们知道,.net core内置了IOC容器,通常,一个服务的生命周期有三种:Transient、Scoped、Singleton Transient:临时性的服务,当进行服务注入时,每次都是重新创建一个新的对象实例 Scoped:范围性的服务,当在一个范围内进行服务注入时,保证使用同一个实例对象(
阅读全文
摘要:上一篇说道C#使用FluentFTP来简单的连接使用Ftp,本篇是个人在.NetCore中使用Ftp的建议(可能有点啰嗦): 1、为Ftp的配置创建基类 在开发过程中,我们如果要使用Ftp,往往需要这几个信息: Host:Ftp地址 Port:端口号 User:用户名 Password:密码 Wor
阅读全文
摘要:首先,本文基于.net6来实现C#代码来调用C/C++程序(VS2022),主要从三个角度来说明:简单的调用实现、自定义类和结构体、回调函数。 其次,C#调用C/C++一般是通过调用C/C++的动态连接库来实现的,而windows和linux、macos下的动态链接库是有区别的,后面再说,所以本文以
阅读全文
摘要:之前有博友提到swagger页面的地址不好复制,我也有这种感觉,最近又有朋友跟我抱怨这个,所以今天花了点时间来看看有什么解决办法。 原先,在一个swagger页面,如果想复制,当鼠标放在一个接口项上点击后,是无法进行选择的,因为点击表示打开这个选项卡! 但是我们可以点击其它空白区域,然后进行选择是可
阅读全文
摘要:.net core实现了依赖注入,虽然可以满足大部分的场景了,但是还是有许多不足,其中之一就是实现带名称服务的依赖注入。 举个例子,比如有下面的接口和它的实现类: public interface IPerson { string Say(); } public class Person1 : IP
阅读全文
摘要:首先,我们有多种方式获取本地IP地址,比如:.net core获取本地Ip地址的方法 ,这种方式与项目类型无关。 如果后端项目是一个web项目,我们还可以通过HttpContext来获取后端项目所在服务器的本地IP,而且还能获取客户端的IP地址: var connection = HttpConte
阅读全文
摘要:快速启动一个consul集群可以参考:使用docker快速部署一个consul集群 .net core集成使用consul是通过consul提供出来api接口来实现的,可以分成两个部分来说明:配置集成、服务注册。 代码比较多,已上传到gitee上了,地址见:https://gitee.com/sha
阅读全文
摘要:准备工作 Jenkins和gogs的安装配置可以看前两篇:Jenkins安装、配置与说明 和 gogs安装与说明(docker) 此外,因为还要安装.net core的SDK和Git工具: 安装.net core(本文使用的3.1) : linux 部署.net core 环境 安装Git: # U
阅读全文
摘要:前两篇介绍的都是已IConfiguration为基础的配置,这里在说说.net core提供的一种全新的辅助配置机制:Options。 Options,翻译成中文就是选项,可选择的意思,它依赖于.net core提供的DI机制(DI机制以后再说),Options的对象是具有空构造函数的类。 Opti
阅读全文
摘要:上一篇介绍了.net core的配置原理已经系统提供的一些常用的配置,但有时我们的配置是存放在Zookeeper,DB,Redis中的,这就需要我们自己去实现集成了。 这里再介绍几个我们用的多的配置集成方案,可以加强我们对.net core配置机制的理解。 Zookeeper .net core集成
阅读全文
摘要:说到配置,绝大部分系统都会有配置,不需要配置的系统是非常少的,想想以前做.net 开发时,我们常常将配置放到web.config中,然后使用ConfigurationManager去读取。 初次接触到.net core 的同学,在项目中看到有一个appsettings.json文件,确实这个apps
阅读全文
摘要:很早就想写.net core相关教程内容了,但是一方面感觉东西太多了,一方面是太懒了,最近才下定决心,一定要写点东西出来,希望能支持一下国内.net 的尴尬处境 好了,先从.net core开源开始吧,以后会对一些独立模块单独剖析介绍,比如认证授权,配置,日志等等: .net core独立模块源码:
阅读全文
摘要:接上一篇:ActiveMQ基础教程(三):C#连接使用ActiveMQ消息队列 这里继续说下.net core集成使用ActiveMQ。因为代码比较多,所以放到gitee上:https://gitee.com/shanfeng1000/dotnetcore-demo/tree/master/Acti
阅读全文
摘要:最近使用DDD+EFCore时,使用EFCore提供的OwnsOne或者OwnsMany关联值对象保存数据,没想到遇到一个很奇怪的问题:值对象中的值竟然无法被EFCore保存!也没有抛出任何异常!我瞬间惊呆了! 准确说,这里说的应该碰到的两个问题 1、值对象中所有的数值数据都无法保存更新 2、值对象
阅读全文
摘要:因为Grpc采用HTTP/2作为通信协议,默认采用LTS/SSL加密方式传输,比如使用.net core启动一个服务端(被调用方)时: public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultB
阅读全文