随笔分类 - c#/.net/.net core
摘要:数据库 1.索引覆盖 查询结果只在索引中 2.分页优化,先查询id范围 3. 行列转换,case when,pivot 4.索引失效,不等于时 5. mysql oracle差别(分页) 6. 使用的数据结构:什么树,原理 7. 索引类型:普通索引、唯一索引、全文索引、多列索引 8. innodb优
阅读全文
摘要:前言 .net framework不再进行演进,.net的form认证也被各种OAuth/OpenId认证流程取代。但是旧系统很多可能还是会使用这一种方式。 文章参考了微软官方的这两篇文章: 第一篇 第二篇 介绍 .net框架在处理请求的每个阶段,都会触发各种事件,每个事件又有对应的处理模块。涉及授
阅读全文
摘要:IL Intermediate Language,运行于CLR上的语言。 CLR Common Language Runtime,.net框架提供的公共运行环境,各种.net语言编译为IL语言,CLR解释执行。 FCL Framework Class Library。.net官方提供的类库。 CTS
阅读全文
摘要:引入swagger后,在services.AddSwaggerGen中增加如下内容 // Register the Swagger generator, defining 1 or more Swagger documents services.AddSwaggerGen(c => { ......
阅读全文
摘要:Continuation-Passing Style(简写为CPS)是一种代码控制流的实现方式。内容部分来自这里和这里。 Continuation Continuation是指在一个逻辑算法或者功能中,某一计算时刻,之后的所有计算逻辑。 例如 static void M() { var x = 5;
阅读全文
摘要:原文地址在 "这里" 。 虽然是很老的文章,但是这个博客内容里,有很多很有用的内容。 前言 迭代器,Iterator很多语言中都有的概念,对应C 中比如 类。 C 中的Iterator是一个复杂的语法糖,在定义一个Iterator时,一般通过一个含有 的函数来实现。 这背后的思想是,这个 以及和它有
阅读全文
摘要:逆变和协变的解释 逆变和协变都是针对模板类/接口中的参数类型来说的。 假定一个父类 , 一个子类 , 一个模板类 简单来说 协变(covariant): 需要 的地方,可以传入 。常见的协变类型: 逆变:需要 的地方,可以传入 。常见的逆变类型: 函数使用的 理解 面向对象编程中,很容易理解,需要父
阅读全文
摘要:.net blazor是.net中的有一个生态系统,用于构建web应用。 而 是.net blazor的一个教学应用,项目地址是 "这里" ( )。 相比官网的教学示例,这个示例应用更加复杂也更加有趣一些。 Blazor技术本身有些类似razor,用于开发spa这样的网页应用。 blazor与raz
阅读全文
摘要:实现打印请求参数和响应结果的中间件,本以为比较容易,但是花了不少时间。 正确的代码: 无论对于 和`response Stream`类型,当被读取后,内部的偏移会移动。而两者情况又有不同。 Request 如果被读取后,后面的组件就无法再次读取,但是.net提供了 方法允许对request重复读取。
阅读全文
摘要:php是不是最好的语言不知道,但是java可能是我用过的最难用的语言,尤其是在用过c 以后,可能说的不对,希望有人能改正。 类属性 c 的属性比getter/setter方便的多。 c java 类创建的属性设置 c 可以构造的时候设置属性,而java只能先new,然后通过setter来设置。 c
阅读全文
摘要:相关的资源还是比较多的,主要参考微软的官方文档( "地址" ) 本地化和全球化 要做本地化( ),需要先让程序全球化( )。 所谓全球化,就是指让程序具有支持多语言的能力,通俗来说,就是每个需要展示内容的地方的内容,都能支持多语言显示。(实际上不单单是文字,还有单位、日期、显示方式等等内容,细说就很
阅读全文
摘要:NPM/GULP 安装 需要下载Node.js,自带npm。 然后全局gulp 注意如果修改过npm包的路径 则需要把这个 添加到系统的PATH中 初始化NPM项目 在项目根目录执行 根据提示创建npm项目文件 然后编辑生成的 ,修改 节点的内容如下(如果没有则在跟对象创建该节点)。 这些事gulp
阅读全文
摘要:这里的scaffold指的是把identity的默认注册/登录/重置密码等功能全部提取出来。 背景 默认添加identity后,如果也添加了 ,那么会有默认的identity各种页面完成身份认证相关的各种功能。 首先identity的功能比较多,接口文档可以说是基本没有的,使用起来非常难,如果要从头
阅读全文
摘要:生成对象类 可以手动生成。 也可以使用windows系统自带的 工具。 根据不同的windows版本,该工具可能在: 通过 生成schema文件 然后通过 生成c文件。根据根节点名称会生成对应的class文件代表对应的对象类。 名称修改 如果反序列化时,需要使用不同的属性名来存储,比如xml中使用中
阅读全文
摘要:一些废话 在做一个设备的报告同步功能,通过 监控设备在指定位置生成的报告,解析并上传。 之所以监控文件系统,而不是跟设备软件直接对接,又会有一大段牢骚,暂且不提。 而监控文件时,文件的修改创建等事件,有时会被多次上报,这可能是文件系统或者代码的实现相关,所以要做防抖动。 之前通过自定义的私有字段/定
阅读全文
摘要:这两天回想之前做的项目,认证一直是比较头痛的地方。 于是抽出时间看了一些内容,从form authentication开始,看到了identity,过程仅仅是简单的浏览,不过对之前的概念也算有了一些加深。 其实这两天才知道,form authentication已经是.net中的昨日黄花了,已经被I
阅读全文
摘要:"TRULY Understanding ViewState" 这篇关于 的文章讲的很好,记录一下我读完后关于ViewState的理解。 ViewState背后通过 实现,StateBag类似HashTable功能,通过简直对记录控件属性。所不同的是,StateBag有记录属性是否被修改过的功能:被
阅读全文
摘要:部分配置没有生效,问题影响可大可小,不过一直像附骨之锥。 没有问题,只有通过文件配置才出问题,干脆把 的源代码下下来调试。 最终发现是我的配置文件中,不生效的Key多了一个空格导致。。。 问题虽然很蠢,不过的确困扰了我好久,改了以后立刻好了。。 话说感觉判断key时,应该增加一下Trim的,或者给出
阅读全文
摘要:本来有点懒,不过还是记一下。 使用 "HPSocket" 项目碰到C 调用结果不符合预期,也提了 "这个问题" 。 最终发现是c++中的bool类型为1 byte,而c 中采用4 bytes导致,需要在DllImport时,使用 额外处理返回值。
阅读全文
摘要:背景 之前的工程一直使用的MSMQ,其实也没有用的很深。 不过想往容器化部署发展,MSMQ依赖于windows操作系统,基本是不太可能的,因为windows对docker的支持就很差。 切换的话,选择尝试比较出名的RabbitMQ作为替代。 概念 消息队列的概念很简单,但是到了RabbitMQ上,会
阅读全文

浙公网安备 33010602011771号