.Net Framework

【.NET】SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间

元气小坏坏 提交于 2020-12-11 13:36:51
#背景   向sqlserver数据库中一个datetime字段插入DateTime.MinValue时,   出现问题:     SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间 #错误原因   当传给数据库的时间类型的值为NULL,或者为DateTime.MinValue时,插入或者更新数据库时,datetime字段值会默认插入0001年01月01日造成datetime类型溢出。   这里的NULL指的是程序代码里面的null,大多数出现这种情况的情景是:在程序里面定义了一个时间类型的变量,没有给赋值,就传给数据库了。这时这个变量的值默认是赋成了01年01月01日。   由于数据库中DateTime类型字段,最小值是1/1/1753 12:00:00,而.NET Framework中,DateTime类型,最小值是1/1/0001 0:00:00,显然,超出了sql的值的最小值范围,导致数据溢出错误。   通过C#看.net和sql的最大小时间: 1 DateTime t= new DateTime(); 2 DateTime t1 = DateTime.MinValue; 3 DateTime t2 = DateTime.MaxValue; 4 DateTime t3 = (DateTime

SharePoint Rce 系列分析(一)

北城以北 提交于 2020-12-11 12:25:24
作者:青藤实验室 原文链接: https://mp.weixin.qq.com/s/FfHc8TFUs_4H8JHWbYv3FQ 得益于 @pwntester 和 @Oleksandr 在 blackhat 上做的两次关于 .net 安全的分享, .net 应用的攻击面被越来越多的安全研究者了解。除了常规的反序列化,在今年的 blackhat-us 上两人更是通过一系列的 SharePoint (以下简称 SP) Rce 漏洞展示了如何通过各种手段 bypass SP 的安全沙箱,以至于此后,SP 成了微软月更新上的常客,后续的 SP Rce 漏洞大多使用了类似的手法,只是触发点不同,或者 bypass 了之前的 patch。 上个月花了点时间学习了该议题,该议题实际上分为 java 和 .net 两部分, java 部分比较直观也很精彩,本文不做讨论。由于之前对 .net 以及 SP 不太熟悉,于是搭了环境逐个调试了文中提到的漏洞。看议题的 writeup 时由于作者的讲述逻辑很清晰,感觉没啥问题,实际上手调试时仍遇到不少问题,在此记录这些问题与我的理解。 调试环境 Server2016 SP2016 背景知识 SP 一句话概括:微软用 .net 开发的一套 cms。既然是 cms 肯定允许用户上传,普通用户通过 PUT /my.aspx 的方式就可以上传自己写的任何内容

《Dotnet9》系列-开源C# Winform控件库1《HZHControls》强力推荐

纵然是瞬间 提交于 2020-12-11 06:53:15
大家好,我是Dotnet9小编,一个从事dotnet开发8年+的程序员。我最近在写dotnet分享文章,希望能让更多人看到dotnet的发展,了解更多dotnet技术,帮助dotnet程序员应用dotnet技术更好的运用于工作和学习中去。 文章阅读导航 一、写在前面的话 二、HZHControls介绍 2.1 控件 2.1.1 表单控件 2.1.2 按钮 2.1.3 选项卡 2.1.4 树 2.1.5 平铺列表 2.1.6 导航 2.1.7 横向列表 2.1.8 自定义表格 2.1.9 进度条 2.1.10 步骤控件 2.1.11 面包屑导航 2.1.12 文字提示 2.1.13 滚动文字 2.1.14 滑块 2.1.15 水波 2.1.16 面板 2.1.17 图标 2.1.18 滚动条 2.1.19 图片采样 2.1.20 时间轴 2.1.21 穿梭框 2.1.22 引用区块 2.1.23 表单验证 2.1.24 分割线标签 2.2 窗体 2.2.1 提示窗体 2.2.2 多输入窗体 2.2.3 等待窗口 2.3 图表 2.3.1 组织结构图 2.3.2 滚动图表 2.3.3 雷达图 2.3.4 金字塔图 2.3.5 Live Charts 2.4 工业控件 2.4.1 LED文字 2.4.2 仪表 2.4.3 管道 2.4.4 阀门 2.4.5 鼓风机 2.4.6 传送带 2

开源C# Winform控件库《SunnyUI》强力推荐

[亡魂溺海] 提交于 2020-12-10 17:11:11
本站(https://dotnet9.com)曾介绍过一款Winform开源控件库《 HZHControls 》,文章发布后不少朋友热情的咨询相关控件库信息,由此看来Winform在大家心中的地位还是挺高的。今天小编再分享一款新鲜出炉的 Winform 控件库库——SunnyUI,一起跟 Dotnet9 往下看吧。 项目名称:SunnyUI 项目作者:Sunny 开源许可协议:GPL-3.0 项目地址:https://gitee.com/yhuse/SunnyUI 项目简介 SunnyUI是一套开源的C# Winform控件库、工具类库、扩展类库、多页面开发框架。 http://SunnyUI.Net 是控件库作者申请的域名,但还未部署,作者将会在该网站发布控件库技术分享文章,大家敬请期待吧。 文末有控件库相关文章介绍链接,特别是想知道某某控件怎么自绘的小伙伴,可以访问原文链接学习哦。 项目框架 下面的框架图是作者对SunnyUI库功能的设计一览,大部分功能已经开发完成,根据网友的建议、留言、交流,作者也在不断的增加新功能、新需求,不断的完善,作者是一个非常勤奋的开源人。 1、开源控件库 基于.NET Framework 4.0 原生控件开发,参考 Element、DotNetBar 等主题风格,包含 Button、Panel、TextBox、CheckBox

CAD卸载/完美解决安装失败/如何彻底卸载清除干净cad各种残留注册表和文件的方法

我与影子孤独终老i 提交于 2020-12-10 07:55:08
在卸载cad重装CAD时发现安装失败,提示是已安装或安装失败。这是因为上一次卸载后没有清理干净,系统会误认为已经安装过了。有的同学是新装的系统也会出现安装失败的情况,这是因为C++ 或者.NET的原因。无论任何版本的cad在手动删除卸载之后都会有残留注册表文件,这时候如果想重新安装cad的话一定要彻底删除干净。 AUTO Uninstaller 更新下载地址 地址一(腾讯微云) 地址二(百度网盘) 提取码:foip 地址三(直接下载) 1、选择CAD 2、选择CAD版本 3、点击“开始卸载” 4、卸载后重新安装、可以使用了 来源: oschina 链接: https://my.oschina.net/u/4349041/blog/3616677

移动端架构师

亡梦爱人 提交于 2020-12-10 07:50:06
download: 移动端架构师 移动端普通工程师到架构师的全方位蜕变 全面掌握面向移动端未来的主流技术栈 从零开始亲自构建千万级电商项目,串联移动架构师成长各阶段 知识结构编辑 软件系统架构师综合的知识能力包括9个方面,即: 1、战略规划能力。 2、业务流程建模能力。 3、信息数据结构能力。 4、技术架构选择和实现能力。 5、应用系统架构的解决和实现能力。 6、基础IT知识及基础设施、资源调配能力。 7、信息安全技术支持与管理保障能力。 8、IT审计、治理与基本需求分析、获取能力。 9、面向软件系统可靠性与系统生命周期的质量保障服务能力。 作为系统架构师,必须成为所在开发团队的技术路线指导者;具有很强的系统思维的能力;需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,哪些是无效的。架构师应当是一个成熟的、丰富的、有经验的、有良好教育的、学习快捷、善沟通和决策能力强的人。丰富是指他必须具有业务领域方面的工作知识,知识来源于经验或者教育。他必须广泛了解各种技术并精通一种特定技术,至少了解计算机通用技术以便确定那种技术最优,或组织团队开展技术评估。优秀的架构师能考虑并评估所有可用来解决问题的总体技术方案。需要良好的书面和口头沟通技巧,一般通过可视化模型和小组讨论来沟通指导团队确保开发人员按照架构建造系统。 具备的能力编辑 (1)技术能力 技术能力,不用置疑肯定是最重要的

C# 处理PPT水印(二)——去除水印效果(文本水印、图片水印)

狂风中的少年 提交于 2020-12-09 07:56:56
本文将对C#处理PPT幻灯片中的水印进一步说明和介绍。在 C# 处理PPT水印(一) 一文中,分享了如何插入水印效果的方法,包括插入文字水印效果、插入图片作为水印效果两种情况,那对于不需要水印效果的情况,要如何来去除PPT中已有的水印效果呢,具体实现步骤,可参考下面将要讲述的方法。 工具 Free Spire.Presentation for .NET 3.3 (社区版) PS:安装后,注意在编辑代码时,添加引用Spire.Presentation.dll(dll文件可在安装路径下的Bin文件夹中获取) 代码示例(供参考) 【示例1】去除文字水印效果 测试文件中的文字水印效果如下: 步骤1 : 实例化Presentation类,加载含有水印效果的PPT文档 Presentation ppt = new Presentation(); ppt.LoadFromFile( " TextWatermark.pptx " ); 步骤2 : 遍历所有幻灯片,查找包含水印字样的shape,并删除 for ( int i = 0 ; i < ppt.Slides.Count; i++ ) { for ( int j = 0 ; j < ppt.Slides[i].Shapes.Count; j++ ) { if (ppt.Slides[i].Shapes[j] is IAutoShape) {

通过使用抓包工具fiddler和apipost进行接口测试

廉价感情. 提交于 2020-12-08 17:14:55
一、进行接口测试准备的东西 1.接口测试工具:apipost、jmeter等 2.接口文档,没有接口文档就用接口信息获取工具 3.接口信息收取工具:fiddler抓包工具、浏览器开发者工具(f12)等 二、web接口测试需要获取的东西 web接口测试需要知道的三个条件 1.请求方式:get、post、put、patch、delete等 2.url地址:分为http请求和https是请求,如: http://www. baidu.com 和 https://www. baidu.com 3.body传递的参数:一般是以json的格式传递参数如:"name":"xiaoming","pwd":"123"。一般以post传递参数请求为多。 三、fiddler抓包工具 fiddler是由 C# 开发的最强大好用的免费web调试工具之一,可记录所有客户端和服务见的 http 以及 https 请求,可监视设断点,甚至修改输入输出数据,它还包含了一个强大的基于事件脚本的子系统,并且能使用 .net 语言来拓展。 fiddler就是通过我们对网页的操作使用而进行的接口信息的抓取的。抓取之后按照上面需求的请求方法、url和body来查找需要的数据。 这是一个简单的登录请求被fiddler抓取到的信息,我们可以用到的分别是: 1.Protocol请求类型:http或https。这里是http 2

C# 实现Remoting双向通信

…衆ロ難τιáo~ 提交于 2020-12-08 07:50:40
本篇文章主要介绍了 C# 实现Remoting双向通信,.Net Remoting 是由客户端通过Remoting,访问通道以获得服务端 对象 ,再通过代理解析为客户端对象来实现通信的 闲来无事想玩玩双向通信,实现类似QQ的互发消息的功能。于是乎开始学习.Net Remoting. .Net Remoting 是由客户端通过Remoting,访问通道以获得服务端对象,再通过代理解析为客户端对象来实现通信的。也就是说对象是由服务端创建的。 先上代码 首先是ICommand库 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ICommand { public interface IRemotingObject { event SendHandler ClientToServer; event ReceiveHandler

Redis的浅入门

孤者浪人 提交于 2020-12-08 07:48:46
<center><font size=8>Redis的浅入门</font></center> # 缓存的思想 问题提出:我们的用户数量上亿,如果登录,访问数据库user特别耗时,该怎么办?——提出缓存 方法:怎样从缓存在获取数据? *有数据: 直接返回 *无数据: (1)从数据库查询 (2)将数据放入缓存 (3)返回数据 认识redis 特点:-属于NOSQL,数据之间没有关联关系,数据存储在内存。 对比一下关系型数据库(MYSQL..)数据之间有关联,数据存储在硬盘的文件上。 数据结构-[key,value] key - 字符串 value - 5种不同 value数据结构: 字符串类型 String 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 sortedset 五种数据结构命令 https://www.redis.net.cn/ 可以看一个学习redis的中文网 1. 字符串类型 string 1. 存储: set key value 2. 获取: get key 3. 删除: del key 2. 哈希类型 hash 1. 存储: hset key field value 2. 获取: * hget key field: 获取指定的field对应的值 * hgetall key:获取所有的field和value 3. 删除: hdel key