
.net
微机原理通识
偏爱前端
展开
-
C# MVC表单参数的传值过程
1. /Views/LocalParam/Index.cshtml中开头引用模板@model UIH.PACS.Server.Web.Models.BaseParamsVM带参数的表单使用htmlHelp类实现@using (Html.BeginForm("Edit", "LocalParam", FormMethod.Post)){ <div class=...原创 2018-07-31 17:33:47 · 1720 阅读 · 0 评论 -
从一个目录复制到另一个目录
/// <summary>/// 拷贝oldlab的文件到newlab下面/// </summary>/// <param name="sourcePath">lab文件所在目录(@"~\labs\oldlab")</param>/// <param name="savePath">保存的目标目录(@转载 2018-09-13 11:02:20 · 772 阅读 · 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 · 22127 阅读 · 0 评论 -
单例模式
1. 防止多线程创建的多个对象争抢资源class myclass{ public myclass(){} public static myclass GetInstance { get { if (_instance == null) { ...原创 2018-09-14 11:25:06 · 126 阅读 · 0 评论 -
一小时看一次,每隔一天执行一次
_timer = new Timer(); _timer.Interval = 60 * 60 * 1000; //一个小时 _timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed); _timer.Enabled = true; } ...原创 2018-09-20 11:00:35 · 1351 阅读 · 0 评论 -
C#使用委托和事件实现发布订阅者模式
事件是C#中的高级概念,和js中的鼠标点击$("tag").click,悬停$("tag").hover或css元素样式的改变(onChanged)等事件,当事件触发才执行我们所委托的方法。步骤:1、创建一个委托;2、将创建的委托与特定事件关联;3、编写C#事件处理程序;4、利用编写的C#事件处理程序生成一个委托实例;5、把这个委托实例添加到产生事件对象的事件列表中去(+=),这个过...原创 2018-10-02 11:10:07 · 3212 阅读 · 1 评论 -
Settings.settings文件的用处
1、定义在Settings.settings文件中定义配置字段。把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改。可以使用数据网格视图,很方便;2、读取配置值text1.text = Properties.Settings.Default.FieldName;//FieldName是你定义的字段3、修改和保存配置Properties.Sett...转载 2018-09-30 15:24:00 · 4369 阅读 · 0 评论 -
Display / Editor DropDownList
HtmlHelper – Display / Editor 模型元数据@Html.Editor / @Html.Display 可以通过读取特性值生成HTML: [DataType(DataType.MultilineText)] [DisplayName("备注")] public string Remark { get; set; }...转载 2018-10-18 23:06:38 · 130 阅读 · 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 · 456 阅读 · 0 评论 -
HttpWebRequest使用post上传数据,webapi接收
前端传一个json对象,后端用字典接收byte[] data = new byte[HttpContext.Current.Request.InputStream.Length]; HttpContext.Current.Request.InputStream.Read(data, 0, data.Length); string txt = ...翻译 2018-11-01 20:00:39 · 5273 阅读 · 0 评论 -
HTTP相关操作
1.检查网络连接状态public static bool HttpStatusIsOK(string url) { HttpWebRequest httpWebRequest = (HttpWebRequest)null; url = url.IndexOf("?", StringComparison.Ordinal) <...原创 2018-11-10 13:12:53 · 240 阅读 · 0 评论 -
计算hash值
class 计算hash值 { //计算hash值需要引用系统包:using System.Security.Cryptography; //计算分两步: //1. 计算hash: MD5 calculator = MD5.Create(); // Byte[] buffer = calc...原创 2018-11-10 13:20:43 · 5244 阅读 · 1 评论 -
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 · 8538 阅读 · 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 · 2436 阅读 · 0 评论 -
WebApi跨域多种解决方案
关于WebAPI跨域踩到的一点坑最近在尝试前后端分离的WebAPI+AngularJS方案,在率先处理授权的时候,踩到了一点WebAPI跨域的坑,其实严格意义上来说也不算是坑吧,只是我自己对WebAPI不熟悉而已,这里我与大家分享一下。先说一下我这边遇到的情况:我是在做登录功能,使用的是微软的OWin提供的组件来实现对于WebAPI跨域,你如果去百度或者谷歌,基本上会有以下两种...转载 2018-11-13 15:02:05 · 656 阅读 · 0 评论 -
MVC4,四大筛选器AuthorizeFilter。。。
AuthorizeFilter筛选器 在Action的执行中包括两个重要的部分,一个是Action方法本身逻辑代码的执行,第二个就是Action方法的筛选器的执行。 MVC4中筛选器都是以AOP(面向方面编程)的方式来设计的,通过对Action方法上标注相应的Attribute标签来实现。MVC4提供了四种筛选器,分别为:AuthorizationFilter、ActionFilt...转载 2018-11-29 11:28:00 · 1671 阅读 · 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 · 241 阅读 · 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 · 934 阅读 · 0 评论 -
c#遍历文件夹获得所有文件
c#遍历文件夹获得所有文件在c#中,想要获得一个文件夹下的所有子目录以及文件十分简单。首先,获取目录的情况下,DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;其次,获取文件的情况下, DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为Fi...转载 2018-09-05 19:51:51 · 5995 阅读 · 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 · 5499 阅读 · 0 评论 -
日志处理--Logo4Net与文件的并发处理
多线程操作同一个文件时会出现并发问题。解决的一个办法就是给文件加锁(lock),但是这样的话,一个线程操作文件时,其它的都得等待,这样的话性能非常差。可以在代码中加锁,也可以在数据库中加锁。另外一个解决方案,就是先将数据放在队列中,然后开启一个线程,负责从队列中取出数据,再写到文件中。也就是运用到了生产者消费者模式,生产者就是MVC中捕获错误的过滤器(Golble.asax文件中的Filte...转载 2018-08-06 22:07:13 · 736 阅读 · 0 评论 -
MySql实现分页查询的SQL===提升查询性能
如果查询数据量过大,sql查询过程会消耗性能且效率低下。类似于文件filebuffer缓存机制,可使用分页查询。 查询第1条到第10条的数据的sql是:select * from table limit 0,10; ->对应我们的需求就是查询第一页的数据:select * from table limit (1-1)*10,10;查询第10条到第20条的数据的sql是:sel...原创 2018-08-07 11:40:12 · 2206 阅读 · 0 评论 -
C#中File类的文件操作方法详解
C#中File类的文件操作方法详解File类,是一个静态类,主要是来提供一些函数库用的。静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。File类方法的参量很多时候都是路径path。File的一些方法可以返回FileStream和StreamWriter的对象。可以和他们配套使用。System.IO.File类和System.IO.File...转载 2018-08-13 09:47:44 · 1854 阅读 · 0 评论 -
C#的读写及文件操作(File,FileMode)
一、读取文件如果你要读取的文件内容不是很多, 可以使用 File.ReadAllText(FilePath) 或指定编码方式 File.ReadAllText(FilePath, Encoding)的方法。 它们都一次将文本内容全部读完,并返回一个包含全部文本内容的字符串 string str = File.ReadAllText(@"c:\temp\ascii.tx...转载 2018-08-13 19:16:37 · 17581 阅读 · 0 评论 -
使用Guid.NewGuid()避免文件等名称重复
Guid.NewGuid() Guid.NewGuid()是唯一码的规则System.Guid.NewGuid().ToString(format);例子:string str = System.Guid.NewGuid().ToString("A") + "|"+ System.Guid.NewGuid().ToString("B") + "|"+ System.G...原创 2018-08-18 17:00:50 · 3013 阅读 · 0 评论 -
使用StopWatch()计算运行时间等
本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。 翻译 英语 Stopwatch 类.NET Framework (current version)其他版本 提供一组方法和属性,可用于准确地测量运行时间。若要浏览此类型的.NET Framework 源代码,请参阅...原创 2018-08-18 17:03:04 · 2208 阅读 · 0 评论 -
.net序列化及反序列化
本文转载自:https://www.cnblogs.com/sandyliu1999/p/4844664.html序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了。比如,一个计数器,数值为2,我们可以用字符串“2”表示。如果有个对象,叫做connter,当前值为2,那么可以序列化成“2”,反向的,也可以从“2”得到值为2的计数器实...转载 2018-08-17 10:28:06 · 664 阅读 · 0 评论 -
自建压缩与解压操作类
1.压缩文件C#需要引用using ICSharpCode.SharpZipLib.Zip; public static void Compress(string filename, string zipname, int compressRatio = 5) { using (ZipOutputStream s = new ...原创 2018-08-17 15:38:41 · 263 阅读 · 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 · 4611 阅读 · 0 评论 -
DES的MD5Helper帮助类
引言 MD5为计算机安全领域广泛使用的一种散列函数,用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理MD5算法的特点(1)压缩性:任意长度的数据,算出的MD5值长度都是固定的(2)容易计算:从原数据计算出MD5值很容易(3)抗修改性:对原数据进行任何改动,哪怕只修改一个具有相同MD5值的数据(即伪造数据)...转载 2018-08-27 16:27:13 · 698 阅读 · 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 · 5531 阅读 · 0 评论 -
用于账号和密码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 · 17262 阅读 · 0 评论 -
实体类与实体DTO类之间的转换
实体类与实体DTO类之间的转换 实体类与实体DTO类之间的转换 1.通过使用第三方序列化反序列化工具Newtonsoft.Json 2.通过反射实现 3.通过表达式目录树加字典缓存实现 4. 通过表达式目录树加泛型缓存实现(静态构造函数) 1.通过使用第三方序列化反序列化工具Newtonsoft.Json通过Nuget包管理器添加Newton...转载 2018-08-23 14:35:01 · 8316 阅读 · 1 评论 -
队列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 · 382 阅读 · 0 评论 -
关于c#的事件如何使用
事件是C#中另一高级概念,使用方法和委托相关。奥运会参加百米的田径运动员听到枪声,比赛立即进行。其中枪声是事件,而运动员比赛就是这个事件发生后的动作。不参加该项比赛的人对枪声没有反应。从程序员的角度分析,当裁判员枪声响起,发生了一个事件,裁判员通知该事件发生,参加比赛的运动员仔细听枪声是否发生。运动员是该事件的订阅者,没有参赛的人不会注意,即没有订阅该事件。C#中使用事件需要的步骤:1、...转载 2018-09-01 15:34:53 · 344 阅读 · 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 · 5269 阅读 · 0 评论 -
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 · 390 阅读 · 1 评论