
C#
文章平均质量分 66
@云淡风轻~
这个作者很懒,什么都没留下…
展开
-
用C#做一个截图工具
因项目需要,要实现一个类似于QQ上传图片的那个截图功能。所以研究了一番。 创建一个位图,得到选择位图的图片。原创 2013-11-16 13:57:52 · 880 阅读 · 0 评论 -
关于多线程中lock使用
在多线程编程中,可能会有多个线程的并发执行同一段代码,但是在某些情况下需要在同一时刻保证只有一个线程执行,避免某些对象的调用冲突或内存使用冲突,这就需要使用到锁。lock关键字可以用来确保代码块完成运行,而不会被其他线程中断。在同一时刻内只允许一个线程进入执行,而其他线程等待。lock语句获取给定对象的互斥 lock,执行语句块,然后释放 lock。持有 lock 时,持有 lock 的线...原创 2019-04-01 14:04:21 · 989 阅读 · 0 评论 -
漫谈静态变量与静态方法,静态类
静态变量简介:使用static修饰的变量,它属于他所在的类所有,而不是具体的某一个对象,静态变量也被称为全局变量,因为他是属于类所有的,分配在静态存储区域。静态变量的使用:静态变量必须使用类名来引用,而不能使用类的实例,因为,静态变量不属于任何实例,而是共有的。 class Program { static void Main(string[] ar...原创 2019-03-13 10:47:59 · 699 阅读 · 0 评论 -
系统自带委托Action与Func详解
1.委托理解 说到委托相信大家都很了解,简单的说,委托相当于是一个指针,但是他是函数指针,他可以将方法当参数一样去传递,这样的好处是什么呢? 这样的好处就是可以在一个地方动态的调用函数。随时随地调用没有任何束缚,甚至可以取代反射。 我们使用反射有时候会反射调用另外一个类的方法,这个时候就可以使用委托替代,毕竟反射是有性能损耗的。2.系统自带委托上文说到委托的理解,这段说说系统内置的...原创 2019-03-12 14:15:18 · 676 阅读 · 0 评论 -
web api集成 swagger
1:认识SwaggerSwagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。作用:1.接口的文档在线自动生成。2.功能测试。2.集成SwaggerSwagger支持we...原创 2019-03-07 15:11:00 · 555 阅读 · 0 评论 -
.net集成小米推送
app需要一款推送,纵览市场各种第三方推送,最终选择了小米push,然后去小米官方寻找服务端sdk, 找了很久,没看到.net的sdk。网上百度一圈,看到有人用ikvm将java的jar转成.net的dll,用C#调用java的方法,实现推送。一共就是6个主要的dll文件,代码如下: Constants.useOfficial();//正式环境 ...原创 2018-11-21 15:11:41 · 1337 阅读 · 0 评论 -
.net mvc 微信支付之企业付款
先说一下功能需求,是关注微信公众号,然后根据用户的输入,判断是否需要从商户账号提现零钱到个人账户。由于这是第一次做公众号的开发,所以看了一下官方文档。第一步要实现的是根据用户的输入关键字,做识别判断是否需要发送领钱到用户,并且回复一条消息,提醒用户。微信公众平台提供了三种消息回复,即文本回复,音乐回复和图文回复。配置公众号后台服务器,启用的时候,需要向服务器地址发送一个get请求,然后用户...原创 2018-10-10 16:43:04 · 2080 阅读 · 1 评论 -
解决mongodb查询慢的问题
最近项目上一直在用mongodb作为数据库,mongodb有他的优势,文档型类json格式存储数据,修改起来比传统的关系型数据库更方便,但是最近在用mongodb出现了查询缓慢的问题,我用命令行查询,显示速度非常快,而且也添加了索引,2万条数据只需要十几毫秒,但是用代码实现却需要好几秒,我调试了代码发现代码生成的查询语句跟我在命令行的查询语句是一样的,我当时就很纳闷。 我当时的代码是...原创 2018-06-03 00:48:38 · 35107 阅读 · 6 评论 -
.net 的SSH操作linux文件
我们知道在开发一个网站的时候,有时候会有多个服务器,一个应用服务器和数据服务器,而且文件服务器一般都是linux系统,那么,今天的问题就来了,就是怎么跨服务器操作linux系统的文件,比如我们要在linux上面做上传文件,下载文件,删除文件等操作呢?下面开始我们的主题。不知道大家有没有听过Rechi.SSHNet类库,这个类库是开源的,用SFTP协议操作文件,它是基于协议。using Sy原创 2017-04-12 17:48:06 · 943 阅读 · 0 评论 -
EF 与 sql server 转到mysql
首先说明一下项目的环境,由于考虑到性能问题,或者是CTO的想法,需要将数据库从mssqlserver迁移到mysql,然后就是一顿改。第一步肯定是要配置服务器环境,从官网上下载了mysql 5.7, 一键配置,设置端口什么的,然后配置远程访问。第二步就是在vs里面添加mysql的数据源,方便添加EF,然后下载了Mysql for Visual Studio 1.1.1,不知道是1.1.原创 2017-03-15 16:30:34 · 1671 阅读 · 0 评论 -
集成微信三方登陆实现
app端,网页端的三方登陆,需要申请相关的token或者id什么的微信登录第一步,用户同意,获取code,这一步,就是让用户点击“https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=ST原创 2017-03-24 17:29:20 · 452 阅读 · 0 评论 -
asp.net mvc微信支付服务端 demo
微信的开发文档没有服务器端的demo,然后我就找了一些资料做了一下,没想到一次就成功了,记录一下。第一步获取prepay_id UnifiedOrder uo = new UnifiedOrder(); uo.appid = appid; uo.mch_id = mch_id;原创 2017-03-23 14:42:30 · 1969 阅读 · 0 评论 -
asp .net mvc支付宝支付服务端demo
本来支付宝支付不需要服务端提供什么代码的,最多就是存储一些公钥和私钥,但是为了安全,最好还是要在服务端提供支付宝的回调,毕竟客户端是不可相信的。看了一下支付宝的开发文档,比微信支付的开发文档详细得多,微信开发文档,我竟然没找到服务端的一些demo,我也是醉了。 简单的来讲,支付宝支付分为三步第一步:拼接参数 biz_content = "{\"timeout_expres...原创 2017-03-20 15:48:11 · 6681 阅读 · 3 评论 -
关于在主程序里面调用DLL时,找不到DLL里面的路径问题
我们在做一个项目,很多时候都会把一部分功能用DLL封装起来,一方面是为了方便开发,以供其他人员调用,实现代码的重用,另一方面是为了不想让别人看到自己写的代码。这就会出现一个问题,我们在DLL代码里面写的路径,当主程序要调用时就会报找不到路径的错误,这很正常,因为路径起点被移动到主程序了,自然要报错。而且我们平常所用的寻找路径的函数,类似于Environment.CurrentDirecto原创 2013-12-30 09:14:28 · 1356 阅读 · 0 评论 -
关于list<T>
list是一个非常好用的模板,之前想要删除掉list里面的一个元素,结果就报错,错误代码如下: private List UList = new List(); foreach (Item item in UList) { if (item.Type == Item.IconTyp原创 2013-11-21 08:53:21 · 1187 阅读 · 0 评论 -
C# socket 网络编程
C#对于socket的实现很容易,因为他都把socket类封装好了,你直接调用就行了,发送字符串,直接send()搞定,发送文件就是一个sendfile(),接收就是receive()。 说简单只是简单的实现简单,但如果要考虑到丢包,阻塞的情况,那就真的要下一番苦功夫,你需要仔细的分析发送接收过程中出现的每一种情况,考虑到怎么才能接收完整的包,如果接收的数据不全,怎么判断数据不全,怎么让服务器重新原创 2013-11-18 16:36:51 · 829 阅读 · 0 评论 -
INI配置文件在linux下的读写
因项目需要,要实现一个在PC机写一个ini配置文件,然后让linux去读取。 其实只是简单的几个函数而已,我把它写在了一个类里面 public class IniHelper { [System.Runtime.InteropServices.DllImport("kernel32")] private static原创 2013-11-19 10:13:29 · 5170 阅读 · 0 评论 -
.net Equal 与 ==
今天想探究一下,Equal函数与==的区别,做了以下的实验图片上我们定义了两个分别为a,b的字符串,两个分别为AClass,BClass的类,分别用Equals与==,打印出结果:结果图如下: 我们知道string类型是引用类型,同样class也是引用类型,为什么会有不同的结果呢? 因为string是一种特殊的引用类型。string调用Equals比较的是值,而AClass与BCl...原创 2019-05-07 17:05:34 · 637 阅读 · 0 评论