博客园 - soleds
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=49405
2021-10-18T01:29:55Z
soleds
https://www.cnblogs.com/soleds/
feed.cnblogs.com
https://www.cnblogs.com/soleds/p/15419239.html
在C#中利用Keep-Alive处理Socket网络异常断开的方法 - soleds
最近我负责一个IM项目的开发,服务端和客户端采用TCP协议连接。服务端采用C#开发,客户端采用Delphi开发。在服务端开发中我碰到了各种各样的网络异常断开现象。在处理这些异常的时候有了一些心得,现在写出来和大家分享一下。 那网络异常断开原因主要有那些呢?归纳起来主要有以下两种: 1、客户端程序异常
2021-10-18T01:30:00Z
2021-10-18T01:30:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】最近我负责一个IM项目的开发,服务端和客户端采用TCP协议连接。服务端采用C#开发,客户端采用Delphi开发。在服务端开发中我碰到了各种各样的网络异常断开现象。在处理这些异常的时候有了一些心得,现在写出来和大家分享一下。 那网络异常断开原因主要有那些呢?归纳起来主要有以下两种: 1、客户端程序异常 <a href="https://www.cnblogs.com/soleds/p/15419239.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/15317656.html
SQL SERVER 生成建表脚本(sql通过存储过程获取创建表脚本) - soleds
网上抄回来改进的,改进增加一个扩展字段的指定,用于生成的脚本可以改变表名称,而不用和原来的表一样。应用于分表时自动创建表的场景。 USE [Ctrl.Js] GO /****** Object: StoredProcedure [dbo].[GET_TableScript_MSSQL] Script
2021-09-21T12:01:00Z
2021-09-21T12:01:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】网上抄回来改进的,改进增加一个扩展字段的指定,用于生成的脚本可以改变表名称,而不用和原来的表一样。应用于分表时自动创建表的场景。 USE [Ctrl.Js] GO /****** Object: StoredProcedure [dbo].[GET_TableScript_MSSQL] Script <a href="https://www.cnblogs.com/soleds/p/15317656.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/15312111.html
使用SqlConnection对象来读取数据库架构信息示例(包含数据库列表、表名列表、表的字段等信息列表) - soleds
using System; using System.Data; using System.Data.SqlClient; using System.Linq; namespace ConsoleApp1 { class Program { static void Main(string[] arg
2021-09-19T09:02:00Z
2021-09-19T09:02:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】using System; using System.Data; using System.Data.SqlClient; using System.Linq; namespace ConsoleApp1 { class Program { static void Main(string[] arg <a href="https://www.cnblogs.com/soleds/p/15312111.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/15236805.html
EF Core 5.0 使用过滤器进行查询拦截的方法和示例,以及一些备忘 - soleds
1、查询拦截和结果替换(取消执行)的示例: /// <summary> /// 查询拦截器 /// </summary> public class ShardingDbCommandInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.DbC
2021-09-07T01:39:00Z
2021-09-07T01:39:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】1、查询拦截和结果替换(取消执行)的示例: /// <summary> /// 查询拦截器 /// </summary> public class ShardingDbCommandInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.DbC <a href="https://www.cnblogs.com/soleds/p/15236805.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/15201536.html
自定义二进制序列化处理器 思路备忘 - soleds
自定义二进制序列化处理器: 1、无论是单个对象还是多个对象,序列化结果都包含二个部份,第一个部份表示字段清单,第二个部份表示正文 2、字段清单结构定义: 字段定义区域长度(2byte)、字段名称长度(1byte)、字段数据类型(1byte)、字段名称(可变长,如果是属性中的类则使用.来表示层级) 备
2021-08-28T15:25:00Z
2021-08-28T15:25:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】自定义二进制序列化处理器: 1、无论是单个对象还是多个对象,序列化结果都包含二个部份,第一个部份表示字段清单,第二个部份表示正文 2、字段清单结构定义: 字段定义区域长度(2byte)、字段名称长度(1byte)、字段数据类型(1byte)、字段名称(可变长,如果是属性中的类则使用.来表示层级) 备 <a href="https://www.cnblogs.com/soleds/p/15201536.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/15177248.html
一个威屁嗯的实现思路,防封 - soleds
1、创建本地Sockets5代理服务器,实现该协议,接收转入的流量 2、将域名、目标服务器端口、数据包正文,一并转发给服务器; 3、由服务器对目标域名和目标服务器端口做数据包转发,并获取结果,再返回给代理服务器 4、代理服务器将数据包回给本地浏览器; 重点: 1、自定义协议、自定义内容加密、服务器可
2021-08-23T10:35:00Z
2021-08-23T10:35:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】1、创建本地Sockets5代理服务器,实现该协议,接收转入的流量 2、将域名、目标服务器端口、数据包正文,一并转发给服务器; 3、由服务器对目标域名和目标服务器端口做数据包转发,并获取结果,再返回给代理服务器 4、代理服务器将数据包回给本地浏览器; 重点: 1、自定义协议、自定义内容加密、服务器可 <a href="https://www.cnblogs.com/soleds/p/15177248.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/15173922.html
Http协议操作类(优化版) - soleds
using Microsoft.VisualBasic; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; us
2021-08-22T14:33:00Z
2021-08-22T14:33:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】using Microsoft.VisualBasic; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; us <a href="https://www.cnblogs.com/soleds/p/15173922.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/15158494.html
sqlserver同步后在不重新初始化快照的情况下新增表 - soleds
在已有事务复制中,时长需要新增表、索引,这些变更时不会同步到从库中。如果采用默认的设置,每次都需要重新初始化快照,从库重新应用快照和未执行的同步命令,这显然是无法在线上实践的方法。另一种方法是将新增的架构变更新建一个发布订阅,但会造成维护困难,增加出错的几率。 可以通过设置immediate_syn
2021-08-18T11:36:00Z
2021-08-18T11:36:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】在已有事务复制中,时长需要新增表、索引,这些变更时不会同步到从库中。如果采用默认的设置,每次都需要重新初始化快照,从库重新应用快照和未执行的同步命令,这显然是无法在线上实践的方法。另一种方法是将新增的架构变更新建一个发布订阅,但会造成维护困难,增加出错的几率。 可以通过设置immediate_syn <a href="https://www.cnblogs.com/soleds/p/15158494.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/15158484.html
SQL Server 复制:事务发布(读写分离) - soleds
引用:https://www.cnblogs.com/bwlluck/p/6774006.html 一、背景(人懒习惯照搬,下面是搬的) 在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在YangJiaLeClub数据库中有表、存储过程、视图、用户定义函数,需要提供给其它程序读取放
2021-08-18T11:34:00Z
2021-08-18T11:34:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】引用:https://www.cnblogs.com/bwlluck/p/6774006.html 一、背景(人懒习惯照搬,下面是搬的) 在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在YangJiaLeClub数据库中有表、存储过程、视图、用户定义函数,需要提供给其它程序读取放 <a href="https://www.cnblogs.com/soleds/p/15158484.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/13840546.html
通过JS在当前页面伪造来路的方法 - soleds
delete window.document.referrer; window.document.__defineGetter__('referrer', function () { return 'http://www.qq.com'; }); console.log(window.documen
2020-10-19T07:36:00Z
2020-10-19T07:36:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】delete window.document.referrer; window.document.__defineGetter__('referrer', function () { return 'http://www.qq.com'; }); console.log(window.documen <a href="https://www.cnblogs.com/soleds/p/13840546.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/12031868.html
C#.NET利用ContextBoundObject和Attribute实现AOP技术--AOP事务实现例子 - soleds
我前两天看见同事用写了用AOP技术实现缓存的方案,于是好奇看了一下这是怎么实现的。原来是用了.NET中的一个类ContextBoundObject和Attribute相关技术。其实个类在.NET Framework很早就有,至今才认识它,是有点相见恨晚的感觉。网上一搜,已经有了很多使用Context
2019-12-12T13:48:00Z
2019-12-12T13:48:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】我前两天看见同事用写了用AOP技术实现缓存的方案,于是好奇看了一下这是怎么实现的。原来是用了.NET中的一个类ContextBoundObject和Attribute相关技术。其实个类在.NET Framework很早就有,至今才认识它,是有点相见恨晚的感觉。网上一搜,已经有了很多使用Context <a href="https://www.cnblogs.com/soleds/p/12031868.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/12031805.html
C#多线程那点事——信号量(Semaphore) - soleds
信号量说简单点就是为了线程同步,或者说是为了限制线程能运行的数量。 那它又是怎么限制线程的数量的哩?是因为它内部有个计数器,比如你想限制最多5个线程运行,那么这个计数器的值就会被设置成5,如果一个线程调用了这个Semaphore,那么它的计数器就会相应的减1,直到这个计数器变为0。这时,如果有另一个
2019-12-12T13:37:00Z
2019-12-12T13:37:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】信号量说简单点就是为了线程同步,或者说是为了限制线程能运行的数量。 那它又是怎么限制线程的数量的哩?是因为它内部有个计数器,比如你想限制最多5个线程运行,那么这个计数器的值就会被设置成5,如果一个线程调用了这个Semaphore,那么它的计数器就会相应的减1,直到这个计数器变为0。这时,如果有另一个 <a href="https://www.cnblogs.com/soleds/p/12031805.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/12031701.html
【转载,备忘】SQL Server 更改跟踪(Chang Tracking)监控表数据 - soleds
一.本文所涉及的内容(Contents) 二.背景(Contexts) 在SQL Server 2008以上版本中,对数据库中的用户表所做的 DML 更改(插入、更新和删除操作)除了:SQL Server 变更数据捕获(CDC)监控表数据之外,还有一个新增功能,那就是:更改跟踪(Chang Trac
2019-12-12T13:19:00Z
2019-12-12T13:19:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】一.本文所涉及的内容(Contents) 二.背景(Contexts) 在SQL Server 2008以上版本中,对数据库中的用户表所做的 DML 更改(插入、更新和删除操作)除了:SQL Server 变更数据捕获(CDC)监控表数据之外,还有一个新增功能,那就是:更改跟踪(Chang Trac <a href="https://www.cnblogs.com/soleds/p/12031701.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/12031655.html
AutoResetEvent ManualResetEvent WaitOne使用注意事项 - soleds
可以用于控制自定义超时,默认 构建函数传入 var ar=new AutoResetEvent(false); 在需要等待的时候可以指定时间,var IsTimeout=ar.WaitOne(1000*10); 通过返回值可以判断是超时退出,还是执行完成退出;在执行完成时,调用 ar.Set() 退
2019-12-12T13:12:00Z
2019-12-12T13:12:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】可以用于控制自定义超时,默认 构建函数传入 var ar=new AutoResetEvent(false); 在需要等待的时候可以指定时间,var IsTimeout=ar.WaitOne(1000*10); 通过返回值可以判断是超时退出,还是执行完成退出;在执行完成时,调用 ar.Set() 退 <a href="https://www.cnblogs.com/soleds/p/12031655.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/12031624.html
ProxyGenerator proxy = new ProxyGenerator(); 代理+拦截器模式 - soleds
所谓代理,就是不直接访问目标对象,而是由中间对象生成一个目标代理类,由中间代理对象来代理目标对象的方法。Java里面有JDK和CGLIB代理。C#里面则使用Castle代理。nuget引用如下: <package id="Castle.Core" version="4.3.1" targetFram
2019-12-12T13:06:00Z
2019-12-12T13:06:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】所谓代理,就是不直接访问目标对象,而是由中间对象生成一个目标代理类,由中间代理对象来代理目标对象的方法。Java里面有JDK和CGLIB代理。C#里面则使用Castle代理。nuget引用如下: <package id="Castle.Core" version="4.3.1" targetFram <a href="https://www.cnblogs.com/soleds/p/12031624.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/12015257.html
微服务(多库、跨服务器)分布式事务组件设计思考(王晓龙,2019-12-10) - soleds
事务: 一、可能同时存在不可预知数量的事务; 二、需要协调所有相关事务并行; 三、事务可能分布在不同的服务器上; 四、通过本地事务结合,实施分布式事务;(结合Redis发布订阅机制、结合接口入参,Redis用于做跨服务器发布订阅,通过消息传递实现对整体服务的最终要么提交、要么集体回滚的控制) 一、事
2019-12-10T02:45:00Z
2019-12-10T02:45:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】事务: 一、可能同时存在不可预知数量的事务; 二、需要协调所有相关事务并行; 三、事务可能分布在不同的服务器上; 四、通过本地事务结合,实施分布式事务;(结合Redis发布订阅机制、结合接口入参,Redis用于做跨服务器发布订阅,通过消息传递实现对整体服务的最终要么提交、要么集体回滚的控制) 一、事 <a href="https://www.cnblogs.com/soleds/p/12015257.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/12001992.html
Linux学习、Mongodb部署 踩到的坑学习 - soleds
一、安装Centos 7虚拟机系统 1、系统安装 下载阿里云的镜像,下载后安装,默认全程图形界面;虚拟机使用Win10自带的Hyper;碰到的坑记录下 1、在Hyper加载镜像启动的时候,提示“虚拟机服务未开启”类似的错误,需要进BIOS里设置Momory Profile设置为启用,包括检查任务管理
2019-12-07T07:55:00Z
2019-12-07T07:55:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】一、安装Centos 7虚拟机系统 1、系统安装 下载阿里云的镜像,下载后安装,默认全程图形界面;虚拟机使用Win10自带的Hyper;碰到的坑记录下 1、在Hyper加载镜像启动的时候,提示“虚拟机服务未开启”类似的错误,需要进BIOS里设置Momory Profile设置为启用,包括检查任务管理 <a href="https://www.cnblogs.com/soleds/p/12001992.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/11922098.html
RSA非对称式加解密笔记 - soleds
1、服务器生成【公钥】和【私钥】,成对生成; 2、客户端生成证书信息,使用【公钥】进行加密,前提是有公钥,并生成证书信息; 3、客户端发送自身的计算机名、MAC、用户名、证书内容给服务器; 4、服务器使用【私钥】对证书内容进行解密,并验证证书信息中的计算机名、MAC、用户名是否一致,首先是能否解密,
2019-11-24T05:17:00Z
2019-11-24T05:17:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】1、服务器生成【公钥】和【私钥】,成对生成; 2、客户端生成证书信息,使用【公钥】进行加密,前提是有公钥,并生成证书信息; 3、客户端发送自身的计算机名、MAC、用户名、证书内容给服务器; 4、服务器使用【私钥】对证书内容进行解密,并验证证书信息中的计算机名、MAC、用户名是否一致,首先是能否解密, <a href="https://www.cnblogs.com/soleds/p/11922098.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/11912505.html
测试环境一键还原系统设计文档 - soleds
实际上线后,预发布环境通过内网向各台服务器拉取数据库实时备份文件、站点压缩文件,由于预发布环境的硬盘写入速度问题,目前带宽在350M/s的速度,主要瓶颈在于硬盘写入速度,传输时硬盘写入资源占用保持100% 一、背景 公司所在的业务为Saas系统开发,对线上稳定性、发布后的系统稳定性要求极高,目前由于
2019-11-22T08:46:00Z
2019-11-22T08:46:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】实际上线后,预发布环境通过内网向各台服务器拉取数据库实时备份文件、站点压缩文件,由于预发布环境的硬盘写入速度问题,目前带宽在350M/s的速度,主要瓶颈在于硬盘写入速度,传输时硬盘写入资源占用保持100% 一、背景 公司所在的业务为Saas系统开发,对线上稳定性、发布后的系统稳定性要求极高,目前由于 <a href="https://www.cnblogs.com/soleds/p/11912505.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/soleds/p/11854906.html
SQL2014做数据库主从镜像备份(也可以用于高可用)备忘(非域控)。 - soleds
部份内容参考原始文章链接:https://www.cnblogs.com/stragon/p/5643754.html ,同时比较有参考价值的文章:https://blog.csdn.net/sqlserverdiscovery/article/details/20282919 过程中碰到的一些问题
2019-11-14T01:39:00Z
2019-11-14T01:39:00Z
soleds
https://www.cnblogs.com/soleds/
【摘要】部份内容参考原始文章链接:https://www.cnblogs.com/stragon/p/5643754.html ,同时比较有参考价值的文章:https://blog.csdn.net/sqlserverdiscovery/article/details/20282919 过程中碰到的一些问题 <a href="https://www.cnblogs.com/soleds/p/11854906.html" target="_blank">阅读全文</a>