随笔分类 - ASP.NET
摘要:前言 进程间通讯有很多种,在这里做个汇总,面试前看一看。 命名管道(Named Pipes) 命名管道是一种高效的进程间通信方式,适用于本地机器上的进程通信。 服务端代码: Console.WriteLine("Named Pipe Server is running...适合本地机器高效通讯");
阅读全文
摘要:前言 gRPC 是一种高性能、开源的远程过程调用(RPC)框架,基于 HTTP/2 协议,支持双向流、头部压缩等特性。它默认使用 Protocol Buffers(Protobuf)作为接口定义语言(IDL)和数据序列化格式,适用于微服务、实时通信等场景。 我们可以结合常用的http服务来了解它。本
阅读全文
摘要:前言 前面asp.net实现长连接 - chenxizhaolu - 博客园学习了如何在asp.net中实现http长连接,这里继续学习websocket。 WebSockets 是一种协议,它能让客户端和服务器之间通过单个长期连接进行无缝通信。与 HTTP 等遵循请求-响应模式的传统网络通信方法不
阅读全文
摘要:前言 在Web开发中,长连接(Long Connection)指的是客户端与服务器之间保持长时间的连接,而不是像传统的请求那样每次请求都建立一个新的连接。长连接可以用于实时通信、实时数据推送等场景。 在双向通讯的需求场景中,长连接已经被SignalR方案或WebSocket替代了,但是从查缺补漏的角
阅读全文
摘要:前言 之前学习了windows环境下使用Jenkins配置dotnet core极简入门 - chenxizhaolu - 博客园 (cnblogs.com) 又学习了Windows下使用docker部署.Net Core - chenxizhaolu - 博客园 (cnblogs.com) 现在将
阅读全文
摘要:网站面对高并发的情况下,除了增加硬件, 优化程序提高以响应速度外,还可以通过并行改串行的思路来解决。这种思想常见的实践方式就是数据库锁和消息队列的方式。这种方式的缺点是需要排队,响应速度慢,优点是节省成本。 演示一下现象 创建一个在售产品表 CREATE TABLE [dbo].[product](
阅读全文
摘要:第一步,添加程序集引用 在Nuget中搜索autofac找到Autofac.Extras.DynamicProxy并安装。 第二步:添加拦截器 /// <summary> /// 拦截器(实现 Castle.DynamicProxy.IInterceptor)接口 /// </summary> pu
阅读全文
摘要:第一步,添加程序集引用 在nuget中搜索“autofac”,添加下图中的两个程序集。他们的作用分别是autofac的核心库和依赖倒置的实现库。 第二步,注册服务 修改Startup类的ConfigureServices方法 public IServiceProvider ConfigureServ
阅读全文
摘要:解决方案:在命令行或程序包管理控制台运行 dotnet restore命令,重建一下即可。
阅读全文
摘要:第一步,添加程序集引用 引用两个包:log4net和Microsoft.Extensions.Logging.Log4Net.AspNetCore,这两个包分别是log4net的程序集和微软针对log4net日志组件的扩展包。 第二步,添加log4net的配置文件 在Startup类的同级别目录中添
阅读全文
摘要:为什么要有AOP 需求总是变化的,比如经常会对一些方法后期增加日志、异常处理、权限、缓存、事务的处理,遇到这种情况我们往往只能修改类。 为了应对变化,我们常常使用设计模式解决,但是也有其局限性:设计模式这能替换整个对象,但是没办法把一个类动态改变。所以我们需要引入AOP的编程思想,因为它允许开发者动
阅读全文
摘要:href="javascript:void(0)"而不是 href="#"
阅读全文
摘要:使用wkhtmltopdf控件将网页保存成pdf的过程中出现网页中有些字体,在PDF中未生效。通过网上查询结果有一种处理方式: 在网页头部的style标签中,手工指定宋体字体的本地存放位置,wkhtmltopdf转换时,就可正常渲染。例如: 原文链接:https://blog.csdn.net/wa
阅读全文
摘要:本人在VS中用Process打开cmd程序,并传入参数,转换图片,运行成功! 但是放入IIS7.0中,Process打不开cmd程序,程序直接运行过去,无结果,无报错! 解决方案: 将IIS里面你程序用到的程序池的高级设置中“启用32位应用程序”置为true,“加载用户配置文件”置为true。 来源
阅读全文
摘要:1.数值转枚举 如果枚举类型继承了数值类型,可以直接强制转换 2.文本类型转枚举
阅读全文
摘要:1.下载地址 https://pan.baidu.com/s/1ztWlBxw1Qf462AE7hQJQRg 2.操作步骤 2.1安装后打开DotfuscatorPro软件,如下图所示: 2.2 选择要加密的DLL或EXE文件 2.3勾选需要加密混淆的文件 2.4点击Settings页面设置启用字符
阅读全文
摘要:错误信息: “/”应用程序中的服务器错误。使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错
阅读全文
摘要:概述 实践 悲观者方法 加了updlock锁,锁定了更新操作。 乐观者方法 数据库列有一个类型为“timestamp”,是一个时间戳,可以理解为版本号。一旦有访问者修改了该数据,版本号的值就会发生改变。我们在更改数据之前首先获取该记录的版本号,然后在记录更新的时候通过主键和版本号同时去更新。但是这样
阅读全文
摘要:我们在开发过程中经常会遇到需要从一个地方不断获取数据然后又需要交给另一个线程对数据进行二次加工的情况,这种场景适合使用生产者-消费者模式。 Demo展示 运行效果如下图:
阅读全文
摘要:问题:如题,asp.net WebForm的项目,在vs中选择aspx文件在浏览器中查看时候回报该错误。 网上最多的解决方案是防火墙的原因,说关闭防火墙就可以了。但问题是我另一个项目没有问题啊,所以不是防火墙的问题。 我的解决方案: 1.之前打开方式是双击解决方案.sln文件进入的,导致浏览失败。
阅读全文

浙公网安备 33010602011771号