
C#
hu炸炸
这个作者很懒,什么都没留下…
展开
-
c# 装饰器模式
c# 装饰器模式装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。所以:装饰器和适配器最大得区别在装饰器 是功能不满足 扩展功能适配器 是功能满足 但是需要转换输出https://www.bilibili.com/video/BV194411y7dp?p=7利用装饰器模式写如下 缓冲区 代码思路:1.继承stream 实现Read(byte[] buf原创 2021-11-19 17:13:47 · 675 阅读 · 0 评论 -
c# 为什么要有Static的类-思考
C# 2.0 之 static class (转)网上有大佬的思考:看看什么是 static class 吧,很久以前我就为不能声明一个 abstract sealed class而苦恼不已,我在 优快云 上曾经提出过这个问题,可是并没有获得共鸣。我得到的回复是这样的:abstract 和 sealed一起用?定义abstract的目的就是抽象基类,seal表示不能继承的实体类,完全是两回事,怎么可能一起用呢?abstract表明必须要被继承,sealed表明不可以被继承,这两个是矛盾的,原创 2021-11-19 13:40:10 · 332 阅读 · 0 评论 -
c# AOP 通过ContextBoundObject、ContextAttribute 上下文对象实现
通过继承ContextBoundObject class继承ContextAttribute 特性使用方法:/// 需要的地方:/// 1.加 AOP 特性/// 2.继承 ContextBoundObject具体代码如下:namespace MyAOP{ /// <summary> /// 需要的地方: /// 1.加 AOP 特性 /// 2.继承 ContextBoundObject /// </summary原创 2021-11-15 22:05:49 · 788 阅读 · 0 评论 -
C#基础[Week3]-20级前后端
Week 3单例模式在单例模式中,一个class只能生成 唯一的一个对象!!public class SMemoryCache{ private static SMemoryCache cache; private Dictionary<string, string> datas; //key: uid value : 12388 // pwd : 93898493 //一定要初始化 dictionary private SM原创 2021-11-13 18:13:53 · 344 阅读 · 0 评论 -
设计模式2、3、4 - 简答工厂、工厂模式 、抽象工厂 学习
拿泡茶为例,茶叶有好多种类,比如龙井、碧螺春、毛尖等1.抽象 出茶1.1 创建不同品牌的茶2.抽象出 能创建茶的工厂2.1 创建出不同品牌茶的工厂最后ITeaFacotry teaFactory = new 某个 品牌茶的工厂()teaFactory.CreateTea();...原创 2021-11-12 17:28:05 · 360 阅读 · 0 评论 -
[C#][EF] 添加表添加不进来
[C#][EF] 添加表添加不进来确认此表有没有主键,没有主键时就会这样。转载于:https://www.cnblogs.com/z5337/p/8891230.html原创 2021-10-25 12:57:56 · 324 阅读 · 0 评论 -
c# 解析网页
前言 前几天写了个爬虫,然后认识到了自己的不足。 烽火情怀推荐了Jumony.Core,通过倚天照海- -推荐的文章,也发现了Jumony.Core。研究了2天,我发现这个东西简单粗暴,非常好用,因为语法比较像jQuery。上手快,也很好理解。回到顶部添加DLL IDE是Visual Studio ,我是在NugGet中搜索,并添加到项目中。回到顶部Jumony的用法1、从网站获取html代码,将html字符串分析为标准的文档对象模型(DOM)。IHtmlDocument sour原创 2021-10-22 10:11:56 · 916 阅读 · 0 评论 -
c#-在单元测试中逐步调试代码
c#-在单元测试中逐步调试代码‘在测试中执行的第一行(可能在测试类构造函数中)设置此行System.Diagnostics.Debugger.Launch();然后在打开调试窗口时,选择Visual Studio原创 2021-10-12 15:31:45 · 359 阅读 · 0 评论 -
.Net Framework 与 Vue跨域设置
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="*" /> <add name="Access-Control-.原创 2021-10-01 16:48:32 · 438 阅读 · 0 评论 -
c# ef事件
using (var tran = db.Database.BeginTransaction()) { try { foreach (var product in seriesProducts) { #region 添加到店铺商品 bool bI.原创 2021-09-25 14:00:36 · 159 阅读 · 0 评论 -
C# 杂文
public virtual string ToXml(Type type) { XmlSerializer xsSubmit = new XmlSerializer(type); var xml = ""; using (var sww = new StringWriter()) { using (XmlWriter writer = XmlWriter.Cre原创 2021-09-12 12:04:00 · 127 阅读 · 0 评论 -
.NetCore AppSettings json配置文件读取
使用步骤:1.json 文件中添加config{ "Logging": { "LogLevel": { "Default": "Warning" } }, "AllowedHosts": "*", "Config": { "test": "Canon MG2500 series Printer" }}2.在Startup.cs的ConfigureServices中设置配置AppSettingHelper.SetAppSetting(原创 2021-06-20 18:08:33 · 337 阅读 · 0 评论 -
.NetCore 登陆过滤器
public class LoginAuthAttribute: ActionFilterAttribute{ public override void OnActionExecuting(ActionExecutingContext filterContext) { var uId = filterContext.HttpContext.Session.GetString("uId"); if (uId == null) {原创 2021-06-17 16:18:31 · 231 阅读 · 0 评论 -
.NetCore 上传文件 解除大文件限制
1.设置允许无限大public class Program{ public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseU原创 2021-06-17 16:16:45 · 1107 阅读 · 0 评论 -
.NetCore 允许使用Session //报错信息:Session has not been configured for this application or request
第一步:Configure中添加app.UseSession();第二步:ConfigureServices中2.1修改代码:options.CheckConsentNeeded = context => **false**; //这里也得改为false //将context => true改为false也行 可以理解成:可以存储cookie了 session和cookie是紧密联系的2.2 加入以下代码 services.AddSe原创 2021-06-17 16:11:16 · 1622 阅读 · 0 评论 -
.NetCore 关闭只允许Https请求 从而允许Http请求
实现方式很简单,config注释掉两句话 //app.UseHsts(); //app.UseHttpsRedirection();具体原因微软文档介绍:https://docs.microsoft.com/zh-cn/aspnet/core/security/enforcing-ssl?view=aspnetcore-5.0&tabs=visual-studio#options原创 2021-06-17 16:07:48 · 1771 阅读 · 0 评论 -
C# ListView 渲染 帮助类
调用方式1:ListHelper helper = new ListHelper(this.listView1);helper.Show(listRes);调用方式2: ListHelper listHelper = new ListHelper(this.listView2); listHelper.AddHeaders(stream, 34);for (int i = 0; i < directAssociateHelper.blockCount; i++)原创 2021-05-01 20:21:38 · 278 阅读 · 2 评论 -
Nginx 配置同时监听实现转发两个端口
Nginx 配置监听实现转发两个端口Nginx 第二次使用一些使用的体验。可以看到与上次不同的地方:不同点1,代码如下 upstream my_servers { server ip1:8886 weight=5 max_fails=2 fail_timeout=60s; server ip2:8885 weight=1 max_fails=2 fail_timeout=60s; }可以看到这次用到了 max_fails=2 fail_timeo原创 2021-03-29 16:42:25 · 6653 阅读 · 0 评论 -
m3u8 视频提取工具(下载web中的ts文件)
m3u8 视频提取工具(下载web中的ts文件)开发背景m3u8视频格式简介(借用他人描述)m3u8视频格式原理:将完整的视频拆分成多个 .ts 视频碎片,.m3u8 文件详细记录每个视频片段的地址。视频播放时,会先读取 .m3u8 文件,再逐个下载播放 .ts 视频片段。常用于直播业务,也常用该方法规避视频窃取的风险。加大视频窃取难度。鉴于 m3u8 以上特点,无法简单通过视频链接下载,需使用特定下载软件。(借用他人描述)但软件下载过程繁琐,试错成本高。使用软件的下载情况不稳原创 2021-02-06 16:54:07 · 23655 阅读 · 6 评论 -
C# 类库调用Winform组件的方法:
类库调用Winform组件的方法:首先在类库中建立一个Logger类如下: public static class Logger { private static int Level = 1; public static Action<string> action = default; public static void LogDebug(string msg) { Log(msg, 1); ...原创 2021-01-27 13:44:05 · 1278 阅读 · 0 评论 -
C# Task 取消 CancellationTokenSource CancellationToken
Task 取消class Program { static void Main(string[] args) { List<Task> tasks = new List<Task>(); CancellationTokenSource source = new CancellationTokenSource(); CancellationToken token = sou原创 2021-01-13 15:49:07 · 695 阅读 · 0 评论 -
ASP.NET 授权过滤器 身份认证
using Newtonsoft.Json;using SQL.API.Helper;using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace SQL.API.Filter{ /// <summary> /// 授权过滤器 /// </summary> public cl原创 2021-01-06 18:20:30 · 283 阅读 · 2 评论 -
miniWebServer
namespace miniWebServer{ class Program { static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); //在浏览器中输入 http://127.0.0.1/StaticFiles/,进行访问 } public static IHostBuilder Cre原创 2021-01-02 10:47:16 · 1161 阅读 · 0 评论 -
Ado.Net SqlHelper C#
Ado.Net SqlHelperpublic class SqlHelper { //private static Logger logger = new Logger(typeof(SqlHelper)); private static string ConnStr = "server=改为ip;database=改为数据库名;uid=sa;pwd=密码";//ConfigurationManager.ConnectionStrings["mvc5"].Conn原创 2020-12-28 22:31:11 · 200 阅读 · 0 评论 -
nginx windows 负载均衡 iis c#
nginx windows0.下载windows版本的nginx1.cd 到目录中启动C:\Users\Administrator>cd C:\nginx-1.19.5C:\nginx-1.19.5>start nginxC:\nginx-1.19.5>start nginx2.当修改配置后C:\nginx-1.19.5>nginx -s reload配置1.创建一个需要负载均衡的结点 upstream my_servers { server 127.0.0原创 2020-12-14 11:35:53 · 139 阅读 · 0 评论 -
目前最简单的VS 2017|2019配置OPENGL方式 以及LNK1104 无法打开文件“GLUT32.LIB”错误解决
目前最简单的VS 2017配置OPENGL方式 以及LNK1104 无法打开文件“GLUT32.LIB”错误解决刚开始学OpenGL就在配置环境这卡了好久,试了各种方法,但是总容易出错,最后终于找到一种直接简单的方法,不用配置那么多的项目,直接下载文件复制到相应目录就好。OpenGL的配置文件下载:链接: https://pan.baidu.com/s/1Vtk1-Wvk79Kh9h4C3FWqxg 提取码: 3byc下载后直接解压,压缩包文件如图:这些就是OpenGL需要的头文件。打开发现已经原创 2020-09-05 10:14:29 · 3936 阅读 · 3 评论 -
Mysql5.7.18.1修改用户密码报错ERRORUnknown Column Password InField List解决办法
Mysql5.7.18.1修改用户密码报错UnknownColumn’Password’In’FieldList’解决办法Mysql5.7.18.1修改用户密码报错ERROR 1054 (42S22): Unknown Column ‘Password’ In 'Field List’解决办法本意向修改一个用户的密码,网上搜到的命令为如下mysql> update user set password=password(“新密码”) where user=”用户名”;执行后报错 ERROR 1原创 2020-06-06 03:12:48 · 298 阅读 · 0 评论 -
sqlserver设置身份验证登录
sqlserver设置身份验证登录【转载】首先,以默认的windows验证方式打开并登录SQL Server 2008第二步:登录后定位到“\安全性\登录名”,选择要使用sql server登录验证方式的用户(例如sa),右击sa,选择“属性”。第三步:打开“属性”窗口后,定位到“常规”选项卡,修改密码并勾选或取消勾选相应复选框选项。第四步:然后切换到“状态”选项卡,选择“连接到数据库”为“授予”,“登录”为“启用”,之后点击右下方的“确定”按钮保存退出。第五步:右击连接数据库的登录用户,在原创 2020-06-03 18:00:10 · 945 阅读 · 0 评论 -
Linq找两个集合的差值
Linq找两个集合的差值先来个简单的版本 List<User> tempList = PictureToUserManager.GetALLUsersWhoDoProject(qq, tempname) ?? new List<User>(); //做了的List<User> templistAll = UserManager.GetUsersInClass(groupOperation.User.Class.Name) ?? new List<User&g原创 2020-05-15 22:26:14 · 604 阅读 · 0 评论 -
c#让程序读取别处app.Config的方法——AppConfig
AppConfigThe hack in the linked question works if it is used before the configuration system is used the first time. After that, it doesn’t work any more.The reason:There exists a class ClientConfigPaths that caches the paths. So, even after changing th原创 2020-05-15 16:43:24 · 1929 阅读 · 0 评论 -
C#使用log4net记录日志(转)
C#使用log4net记录日志一、Nuget安装log4net --> Install-Package log4net二、在AssemblyInfo.cs文件中添加log4net.dll的参数。[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]三、右击项目→添加→新建项→xxx配置文件(web或者winfo转载 2020-05-14 20:55:43 · 173 阅读 · 0 评论 -
jquery(三)width insertBefore insertAfter appendTo prependTo remove 添加和取消事件的几种方式
jquery(三)取width insertBefore insertAfter appendTo prependTo remove 添加和取消事件的几种方式jquery取width,高度等同 <style> .div1{width: 100px;height: 200px;background-color: red;margin: 10px;border: 20px s...原创 2020-04-18 16:30:09 · 256 阅读 · 0 评论 -
jquery(二) filter not has prev和next ul下的li标签 index attra访问或者修改
jquery(二)filter not has prev和next ul下的li标签 index attra访问或者修改filter not has<script> $(function() { $("div").filter(".box").css("background-color", "red"); //过滤 对已经抓取到的过滤 $...原创 2020-04-18 12:52:39 · 164 阅读 · 0 评论 -
jquery(一)css选择器 独有表达式选择 多种筛选方式 链式操作 取值赋值合体
jquery(一)基础css选择器 <script> $(function() { $("li").css("backgroundColor", 'yellow'); $("ul li").css('background-color', 'red'); $("li:eq(4)").css('background-co...原创 2020-04-17 22:30:46 · 365 阅读 · 0 评论 -
正则(?=)(?:)---(二补充)
4.15补充 要求一个group解决
C#EntityFramework(EF基础)0.App.config 设置链接串<connectionStrings> <add name="con" connectionString="server=.;database=zhazhabade;uid=sa;pwd=sa" providerName="System.Data.SqlClient"/> &l...原创 2020-04-04 17:57:05 · 815 阅读 · 0 评论 -
Func Action 异步调用
Func Action 异步调用Action(无返回值)直接上代码很简单的AsyncCallback定义了回调函数IAsyncResult 是begininvoke的返回值 作为AsyncCallback的唯一参数action.BeginInvoke(“test”, asyncCallback, “OK”); //ok是回调参数中AsyncState的值action.BeginInv...原创 2020-04-01 16:41:17 · 734 阅读 · 0 评论 -
mysql group by join(左连接)
mysqlgroup bySELECT ToQQ ,COUNT(Msg) AS msg //展现的列和数量FROM `privatesendinformation` //表名WHERE toqq='XXX' || toqq='XX2'//如果有where一定加group by 前面GROUP BY ToQQ Join --->左连接SELECT * FROM ...原创 2020-03-31 21:53:51 · 1777 阅读 · 0 评论 -
Linq函数委托手动模拟实现where函数,linq使用
Linq函数委托模拟,使用首先类似linq的where方法利用Func<>委托实现1.先定义节点信息 public class Node { //public static List<Node> nodes = new List<Node>(); public int num; public stri...原创 2020-03-31 20:21:46 · 340 阅读 · 0 评论 -
C# json序列化反序列化
序列化对象如何2进制传输“?序列化!然后反手一个反序列化~直接上代码1.热门的json 因为js可以直接调JsonHelper帮助类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Syste...原创 2020-03-30 20:53:00 · 196 阅读 · 0 评论