随笔分类 - C# 高级编程
摘要:一、感慨 很久前看到一篇博客中有句话大致的意思是:“asp.net 程序性能低下的主要原因是开发人员技术参差不齐”,当时看到这句话不以为然,然而时间过的越久接触的.net 开发人员越多就越认同这句话;特别最近发现非常一个成熟的项目中有些问题非常非常影响性能,最终影响的是用户体验,借此给大家分享一下关
阅读全文
摘要:一、什么是依赖注入 二、Asp.net core中依赖注入的生命周期 依赖注入的生命周期有三种Transient,Scoped和Singleton; 1、Transient每次调用都是不同的实例,比如常用的Microsoft.Extensions.Options.IConfigureOptions<
阅读全文
摘要:一、原始配置文件的问题 我们在做开发时,不管是B/S还是C/S,现在几乎所有的项目都会碰到使用配置文件,简单点的如链接字符串、上传路径啊,一些API的接口地址等等。复杂点就更多了,如ActiveMQ的配置信息(地址、端口、用户名、密码)等等。 在.Net开发中已经在(Web.config/App.c
阅读全文
摘要:一、为什么会用到网页实时监控 LZ最近在无锡买房了,虽然在上海工作,但是上海房价实在太高无法承受,所以选择还可以接受的无锡作为安身之地。买过房的小伙伴可能知道买房的流程,买房中间有一步很重要的就是需要商品房备案,简单点说就是你买房时可以在政府商品房备案网站处查看你购买房的备案情况,如果是已经备案了开
阅读全文
摘要:在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收、我传的数组为什么Action的model中接收不到、或者我在ajax的data中设置了一些数组,为什么后台还是接收不了、还有一些怎么传送一个复杂的对象或者Action怎么接收一个复杂的对象等等这些问题。或者有些人遇到
阅读全文
摘要:一、需求 我们在开发中经常会遇到一些枚举,而且这些枚举类型可能会在表单中的下拉中,或者单选按钮中会用到等。 这样用是没问题的,但是用过的人都知道一个问题,就是枚举的命名问题,当然有很多人枚举直接中文命名,我是不推荐这种命名规则,因为实在不够友好。 那有没有可以不用中文命名,而且可以显示中文的方法呢。
阅读全文
摘要:1、需求 需求很简单,就是在C#开发中高速写日志。比如在高并发,高流量的地方需要写日志。我们知道程序在操作磁盘时是比较耗时的,所以我们把日志写到磁盘上会有一定的时间耗在上面,这些并不是我们想看到的。 2、解决方案 2.1、简单原理说明 使用列队先缓存到内存,然后我们一直有个线程再从列队中写到磁盘上,
阅读全文
摘要:1、需求 在代码中经常会遇到需要把对象复制一遍,或者把属性名相同的值复制一遍。 比如: Student s = new Student() { Age = 20, Id = 1, Name = "Emrys" }; 我们需要给新的Student赋值 Student ss = new Student
阅读全文
摘要:ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。(来自官方介绍。) SignalR
阅读全文
摘要:B/S的实时通讯实现起来比较麻烦,因为http协议是无状态的,导致一些实时消息通知和聊天等功能比较难以实现,本文主要简述几种自己之前常用的几种方式。 1、传统的HTTP协议是无状态的 传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回re
阅读全文
摘要:对于asp.net 程序员来说,Session的存储方式有InProc、StateServer、SQLServer和Custom,但是Custom确很少有人提及。但Custom确实最好用,目前最实用和最灵活一种方式,因为Custom可以实现各种情况的Session存储,特别对于大型网站尤为重要,解决
阅读全文