c#
微机原理通识
偏爱前端
展开
-
读写wcf的契约数据
namespace DataContractAttributeExample{ // Set the Name and Namespace properties to new values. [DataContract(Name = "Customer", Namespace = "http://www.contoso.com")] class Person : IEx...原创 2019-02-22 16:46:41 · 279 阅读 · 0 评论 -
单例模式
1. 防止多线程创建的多个对象争抢资源class myclass{ public myclass(){} public static myclass GetInstance { get { if (_instance == null) { ...原创 2018-09-14 11:25:06 · 117 阅读 · 0 评论 -
字符串转DateTime
我们在处理字符串日期格式常用DateTime.Pares() 但是这个形式的转换是相当有限的,有些C#是会不懂你写入的日期格式的如20031231。那么类似 "20100101" 或者其它形式的字符串如何转换成日期型呢?一、拼接字符串的形式 DateTime dt=Convert.ToDateTime("20100101".Substring(0,4)+"-"+"20100101".Su...转载 2018-09-13 14:38:44 · 15696 阅读 · 0 评论 -
byte[]读取与写入
FileStream fs1 = new FileStream(@"E:\tenp\doc\111.txt", FileMode.Open, FileAccess.Read, FileShare.Read);FileStream fs2 = new FileStream(@"E:\temp\doc\222.txt", FileMode.Create, FileAccess.Write, Fil...转载 2018-09-18 14:32:13 · 22073 阅读 · 0 评论 -
从一个目录复制到另一个目录
/// <summary>/// 拷贝oldlab的文件到newlab下面/// </summary>/// <param name="sourcePath">lab文件所在目录(@"~\labs\oldlab")</param>/// <param name="savePath">保存的目标目录(@转载 2018-09-13 11:02:20 · 757 阅读 · 0 评论 -
URL加随机数的作用
大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的时候总是使用IE缓存,为了解决这个问题一般可以用一下方法: 1:在ajax或者dwr提交的url后面加时间戳。 例如 http_request.onreadystatechange = funcName; http_request.open("GET"...转载 2018-09-17 11:17:06 · 891 阅读 · 0 评论 -
云存储
https://aws.amazon.com/cn/documentation/s3/?id=docs_gatewayhttps://www.cnblogs.com/blackice/p/5584388.htmlhttp://aliyun_portal_storage.oss.aliyuncs.com/oss_api/oss_javahtml/multipart.htmlhttps:/...原创 2018-09-06 17:13:54 · 287 阅读 · 0 评论 -
c#遍历文件夹获得所有文件
c#遍历文件夹获得所有文件在c#中,想要获得一个文件夹下的所有子目录以及文件十分简单。首先,获取目录的情况下,DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;其次,获取文件的情况下, DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为Fi...转载 2018-09-05 19:51:51 · 5925 阅读 · 0 评论 -
C#多核处理器,防止线程过多cpu占用满的情况
当前项目使用第二个CPU Process.GetCurrentProcess().ProcessorAffinity = (IntPtr)2; Thread T_GetFiles = new Thread(new ThreadStart(ThreadGetFiles));//获取文件线程 T_GetFiles.Start(); ...原创 2018-08-30 14:41:40 · 5367 阅读 · 0 评论 -
Parallel使用的注意事项(CPU过高)
.net Parallel并行使用注意事项1. Parallel.ForEach的使用static void Main(string[] args) { //Test(); TestParllel(); Console.ReadLine(); } private st...转载 2018-08-30 14:38:59 · 5152 阅读 · 0 评论 -
关于c#的事件如何使用
事件是C#中另一高级概念,使用方法和委托相关。奥运会参加百米的田径运动员听到枪声,比赛立即进行。其中枪声是事件,而运动员比赛就是这个事件发生后的动作。不参加该项比赛的人对枪声没有反应。从程序员的角度分析,当裁判员枪声响起,发生了一个事件,裁判员通知该事件发生,参加比赛的运动员仔细听枪声是否发生。运动员是该事件的订阅者,没有参赛的人不会注意,即没有订阅该事件。C#中使用事件需要的步骤:1、...转载 2018-09-01 15:34:53 · 298 阅读 · 0 评论 -
队列Queue配合线程使用
namespace MyNameSpace { //队列临时类 public class QueueInfo { public string medias { get; set; } public string proids { get; set; } public string host { get; set; }...转载 2018-08-21 16:49:39 · 364 阅读 · 0 评论 -
实体类与实体DTO类之间的转换
实体类与实体DTO类之间的转换 实体类与实体DTO类之间的转换 1.通过使用第三方序列化反序列化工具Newtonsoft.Json 2.通过反射实现 3.通过表达式目录树加字典缓存实现 4. 通过表达式目录树加泛型缓存实现(静态构造函数) 1.通过使用第三方序列化反序列化工具Newtonsoft.Json通过Nuget包管理器添加Newton...转载 2018-08-23 14:35:01 · 8276 阅读 · 1 评论 -
用于账号和密码System.Net.NetworkCredential的用法
NetworkCredential 类.NET Framework (current version)public FtpClient();public FtpClient(string host);public FtpClient(string host, NetworkCredential credentials);public FtpClient(string host...翻译 2018-08-20 14:30:53 · 16852 阅读 · 0 评论 -
一小时看一次,每隔一天执行一次
_timer = new Timer(); _timer.Interval = 60 * 60 * 1000; //一个小时 _timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed); _timer.Enabled = true; } ...原创 2018-09-20 11:00:35 · 1317 阅读 · 0 评论 -
C#使用委托和事件实现发布订阅者模式
事件是C#中的高级概念,和js中的鼠标点击$("tag").click,悬停$("tag").hover或css元素样式的改变(onChanged)等事件,当事件触发才执行我们所委托的方法。步骤:1、创建一个委托;2、将创建的委托与特定事件关联;3、编写C#事件处理程序;4、利用编写的C#事件处理程序生成一个委托实例;5、把这个委托实例添加到产生事件对象的事件列表中去(+=),这个过...原创 2018-10-02 11:10:07 · 3152 阅读 · 1 评论 -
Log的使用
step1:添加log4net的引用step2:添加配置文件log4netConfig.xmlstep3:启用日志private ILog Logger = null;string logconfigpath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4netConfig.xml"); ...原创 2018-12-29 14:00:49 · 363 阅读 · 1 评论 -
C#多线程之Parallel中 类似于for的continue,break的方法
C#多线程之Parallel中 类似于for的continue,break的方法好久没写东西了,终于找到点知识记录下。。。利用ParallelLoopState对象来控制Parallel.For函数的执行,ParallelLoopState对象是由运行时在后台创建的:Parallel.For(1, 100, (i, ParallelLoopState) =>{...});这...转载 2018-12-27 12:37:27 · 1425 阅读 · 0 评论 -
MVC过滤器总结
注册路由 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Routing; namespace FB.CMS.MvcSite{ public class RouteConfig ...原创 2018-12-06 09:28:39 · 220 阅读 · 0 评论 -
MVC4,四大筛选器AuthorizeFilter。。。
AuthorizeFilter筛选器 在Action的执行中包括两个重要的部分,一个是Action方法本身逻辑代码的执行,第二个就是Action方法的筛选器的执行。 MVC4中筛选器都是以AOP(面向方面编程)的方式来设计的,通过对Action方法上标注相应的Attribute标签来实现。MVC4提供了四种筛选器,分别为:AuthorizationFilter、ActionFilt...转载 2018-11-29 11:28:00 · 1648 阅读 · 0 评论 -
数据库实体转换的过程详解
如何应用反射设置实体的值首先需要创建实体的实例public class ConfigEntity { public string ConnectionStr { get; set; } public string Name{ get; set; } public string Age { get; set; } }然后设置过程...原创 2018-11-21 18:38:42 · 895 阅读 · 0 评论 -
WebApi跨域多种解决方案
关于WebAPI跨域踩到的一点坑最近在尝试前后端分离的WebAPI+AngularJS方案,在率先处理授权的时候,踩到了一点WebAPI跨域的坑,其实严格意义上来说也不算是坑吧,只是我自己对WebAPI不熟悉而已,这里我与大家分享一下。先说一下我这边遇到的情况:我是在做登录功能,使用的是微软的OWin提供的组件来实现对于WebAPI跨域,你如果去百度或者谷歌,基本上会有以下两种...转载 2018-11-13 15:02:05 · 624 阅读 · 0 评论 -
对WebApi的三种请求方式(以post上传为例):HttpClient,WebClient,HttpWebRequest
WebClientpublic void HttpUpload(string url){ byte[] bytes; using(FileStream fs = new FileStram(&quot;filename&quot;,FileMode.Open,FileAccess.Read)) { bytes = new byte[fs.Length]; fs.Read(bytes,0,bytes....原创 2018-11-05 20:13:33 · 2406 阅读 · 0 评论 -
WebApi的文件上传功能实现
1.自主宿主HttpSelfHost的实现#region Web Api监听 Assembly.Load("Lind.DDD.TestApi"); //手工加载某个api程序集的controller var config = new HttpSelfHostConfiguration("http://localhost:3333...原创 2018-11-05 20:09:52 · 8478 阅读 · 0 评论 -
计算hash值
class 计算hash值 { //计算hash值需要引用系统包:using System.Security.Cryptography; //计算分两步: //1. 计算hash: MD5 calculator = MD5.Create(); // Byte[] buffer = calc...原创 2018-11-10 13:20:43 · 5177 阅读 · 1 评论 -
HTTP相关操作
1.检查网络连接状态public static bool HttpStatusIsOK(string url) { HttpWebRequest httpWebRequest = (HttpWebRequest)null; url = url.IndexOf("?", StringComparison.Ordinal) <...原创 2018-11-10 13:12:53 · 221 阅读 · 0 评论 -
WebApi的ajax调用以及HttpClient的跨域调用
WebApiusing System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;using t3_Models;namespace t3_WebAPI.Controllers{ public...原创 2018-10-30 21:49:44 · 438 阅读 · 0 评论 -
Settings.settings文件的用处
1、定义在Settings.settings文件中定义配置字段。把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改。可以使用数据网格视图,很方便;2、读取配置值text1.text = Properties.Settings.Default.FieldName;//FieldName是你定义的字段3、修改和保存配置Properties.Sett...转载 2018-09-30 15:24:00 · 4288 阅读 · 0 评论 -
MD5多种加密方式
加密 using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Runtime.Serialization.Formatters.Binary;using System.Security.Cryptography;using System.Text;u...原创 2018-08-27 16:43:59 · 5467 阅读 · 0 评论 -
DES的MD5Helper帮助类
引言 MD5为计算机安全领域广泛使用的一种散列函数,用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理MD5算法的特点(1)压缩性:任意长度的数据,算出的MD5值长度都是固定的(2)容易计算:从原数据计算出MD5值很容易(3)抗修改性:对原数据进行任何改动,哪怕只修改一个具有相同MD5值的数据(即伪造数据)...转载 2018-08-27 16:27:13 · 680 阅读 · 0 评论 -
FluentFTP对FtpHelper操作类封装
github:https://github.com/robinrodricks/FluentFTPusing FluentFTP;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace imgmig{ publ...原创 2018-08-17 17:39:36 · 4536 阅读 · 0 评论 -
C#中IDisposable的用法
转载自http://www.studyofnet.com/news/590.htm在Net中,由GC垃圾回收线程掌握对象资源的释放,程序员无法掌控析构函数的调用时机。对于一些非托管资源,比如数据库链接对象等,需要实现IDisposable接口进行手动的垃圾回收。那么什么时候使用Idisposable接口,以及如何使用呢? 一、IDisposable的接口定义如下 public ...转载 2018-08-02 11:00:37 · 289 阅读 · 0 评论 -
C# DataSet与DataTable的区别和用法
转载自https://www.cnblogs.com/liuyi-li/p/6340411.htmlC# DataSet与DataTable的区别和用法DataSet是数据集,DataTable是数据表,DataSet存储多个DataTable。DataSet和DataTable像是专门存储数据的一个容器,在你查询数据库得到一些结果时可以存在里面。DataSet功能强大有浏览、排序、搜...转载 2018-08-02 10:47:09 · 379 阅读 · 0 评论 -
日志处理--Logo4Net与文件的并发处理
多线程操作同一个文件时会出现并发问题。解决的一个办法就是给文件加锁(lock),但是这样的话,一个线程操作文件时,其它的都得等待,这样的话性能非常差。可以在代码中加锁,也可以在数据库中加锁。另外一个解决方案,就是先将数据放在队列中,然后开启一个线程,负责从队列中取出数据,再写到文件中。也就是运用到了生产者消费者模式,生产者就是MVC中捕获错误的过滤器(Golble.asax文件中的Filte...转载 2018-08-06 22:07:13 · 659 阅读 · 0 评论 -
C#中的Queue使用
构造方法 构造器函数 注释 Queue () 初始化 Queue 类的新实例,该实例为空,具有默认初始容量(32)并使用默认增长因子(2.0)。 Queue (ICollection) 初始化 Queue 类的新实例,该实例包含从指定集合复制的元素,具有与所复制的元素数相同的初始容...原创 2018-08-14 13:50:25 · 1420 阅读 · 0 评论 -
C#的windows service定时器使用
在C#中提供了三种类型的计时器:1、基于 Windows 的标准计时器(System.Windows.Forms.Timer)2、基于服务器的计时器(System.Timers.Timer)3、线程计时器(System.Threading.Timer)一、(System.Windows.Forms.Timer) //经常出错不建议使用注意:Windows 计时器单线程环境(out了...原创 2018-08-01 14:37:31 · 2175 阅读 · 0 评论 -
Thread.IsBackground
解释: 获取或设置一个值,该值指示某个线程是否为后台线程。 后台线程不会防止应用程序的进程被终止掉。 注意:主线程中创建了一个线程,线程的IsBackground默认是设置为FALSE的。主线程退出时,IsBackground=FALSE线程继续执行下去,直到线程执行结束。IsBackground=TRUE的线程才会随着主线程的退出...原创 2018-08-01 10:54:59 · 1550 阅读 · 0 评论 -
windows service 基础类
ServiceBase 所有Window服务的基类ServiceController 该类的一个实例代表一个具体的windows服务ServiceControllerPermission 用于控制ServiceController的使用权限ServiceInstaller 用于执行对windows服务的安装ServiceProcessInstaller 用于执行对window...原创 2018-07-31 17:33:24 · 307 阅读 · 0 评论 -
ADO C#重要的打开数据库代码
ADO.NET组成数据提供程序(常用类)•Connection:用来连接数据库•Command:用来执行SQL语句•DataReader:只读、只进的结果集,一条一条读取数据(StreamReader、XmlReader微软的类库中这些Reader的使用方式都差不多)•DataAdapter,一个封装了上面3个对象的对象数据集(DataSet)•在内存中的临时数据库...原创 2018-08-01 00:37:18 · 279 阅读 · 0 评论 -
ADO封装SqlHelper
阅读之前请参考我的博文: https://blog.csdn.net/weixin_41556165/article/details/81322877和https://mp.csdn.net/postedit/81323265using System;using System.Collections.Generic;using System.Configuration;using ...原创 2018-08-01 00:32:31 · 160 阅读 · 0 评论