随笔分类 -  .Net

.Net
摘要:当前有一个需求,需要网页端调用扫描仪,javascript不具备调用能力,因此需要在机器上提供一个ws服务给前端网页调用扫描仪。而扫描仪有一个c#版本的API,因此需要寻找一个c#的websocket库。 java里有大名鼎鼎的netty,通过搜索,c#可以选择websocket-sharp来实现w 阅读全文
posted @ 2018-09-24 16:32 杨浪 阅读(5225) 评论(1) 推荐(0)
摘要:之前自己一个人负责完成了公司的消息推送服务,和移动端配合完成了扫码登录、订单消息推送、活动消息广播等功能。为了加深自己对Websocket协议的理解,自己通过进行抓包的方式学习了一番。现在分享出来,希望对大家能有所帮助。 Chrome控制台 (1)F12进入控制台,点击Network,选中ws栏,注 阅读全文
posted @ 2018-09-24 15:11 杨浪 阅读(444) 评论(0) 推荐(0)
摘要:1 /// 2 /// 调用api返回json 3 /// 4 /// api地址 5 /// 接收参数 6 /// 类型 7 /// 8 public static string HttpApi(string url, string jsonstr, strin... 阅读全文
posted @ 2018-09-23 22:56 杨浪 阅读(1780) 评论(0) 推荐(0)
摘要:1 #region 每个思考时间完成以后发送指定的数据量,不管服务器是否处理完 2 3 for (int i = 0; i (t => 6 { 7 PrintLog($@... 阅读全文
posted @ 2018-09-22 13:02 杨浪 阅读(198) 评论(0) 推荐(0)
摘要:在多线程程序中,新创建的线程不能访问UI线程创建的窗口控件, 这个时候如果你想要访问窗口的控件,那么你可以将窗口构造函数 中的CheckForIllegalCrossThreadCalls设置为false.这是线程就 能安全的访问窗体控件了. 阅读全文
posted @ 2018-09-18 17:56 杨浪 阅读(380) 评论(0) 推荐(0)
摘要:最近在研究异步编程,用的async await task啥的,但是都这几个概念很模糊,还有不太清楚await是干啥的,task又是干啥的,用不用await有什么区别,他们三个之间的联系是什么? task是对线程的一种封装,启动一个任务可以用Task.Run(),任务工厂start,new Task( 阅读全文
posted @ 2018-09-12 10:11 杨浪 阅读(1481) 评论(0) 推荐(0)
摘要:用过.net 异步编程的同学都知道,比以前的多线程编程实现起来真的方便很多,今天把WaitAll和WhenAll这两种编程方式回顾总结一下(当然WaitAny、WhenAny是一样的操作) 1:WaitAll 这个方法在我理解看来,主要是为了解决多个不太相关的操作同步执行的话,耗时较多,这个方法可以 阅读全文
posted @ 2018-09-07 02:03 杨浪 阅读(1023) 评论(0) 推荐(0)
摘要:Async和Await关键字是C#异步编程的核心。通过使用这两个关键字,你可以使用.NET Framework或Windows Runtime的资源创建一个异步方法如同你创建一个同步的方法一样容易。通过使用async和await定义的异步方法,这里被称为异步方法。 异步方法的特点: 方法中包含了 a 阅读全文
posted @ 2018-09-07 01:42 杨浪 阅读(2790) 评论(0) 推荐(0)
摘要:1、无返回值的异步方法能否不用await? 2、请问C#中如何判断无返回值的await 方法是否执行成功? 我在调用.net自带的方法发送websocket消息,代码如下: 这个方法签名是返回一个Task, 可是写成 Task t=await socket.SendAsync(...);会提示无法将 阅读全文
posted @ 2018-09-07 01:40 杨浪 阅读(4434) 评论(0) 推荐(0)
摘要:我正在尝试创建一个异步控制台应用程序,对集合进行一些操作。我有一个版本使用并行for循环,使用异步/等待。我预计异步/等待版本的工作类似于并行版本,但它同步执行。是什么原因呢? 使用await关键字的方式告诉C#,你希望每次通过循环时都等待,而循环并不平行。你可以像这样重写你的方法来做你想做的事情, 阅读全文
posted @ 2018-09-07 01:20 杨浪 阅读(4738) 评论(0) 推荐(0)
摘要:如果一个对象的值为null,那么它调用扩展方法时会报错吗? 上述代码出现的情况不会报错,刚开始遇到这种情况时很纳闷,就去问了大牛。大牛解释如下: 扩展函数其实只是为了让代码更具有可读性, 但最终在clr中会翻译成标准的静态函数调用, 比如: 调用 "string".ExtMethod()最终会翻译成 阅读全文
posted @ 2018-09-04 18:08 杨浪 阅读(341) 评论(0) 推荐(0)
摘要:最近在做第三方对接的项目,接口返回的数据是json格式,并且每个字段都是小写的,而我们程序类中的属性是要求大写的;刚开始想到的是用JavaScriptSerializer,但是这个并不满足需求 就换了另一个NewtonsoftJson;这个反序列化的时候并不区分大小写 阅读全文
posted @ 2018-08-30 12:18 杨浪 阅读(2535) 评论(0) 推荐(0)
摘要:假设定义了一个这样的枚举类型: enum MyEnum { aa = 1, bb = 2 } 1、字符串转换为枚举: string strA = "aa"; MyEnum myEnum = (MyEnum)Enum.Parse(typeof(MyEnum), strA); 上面的方法是区分大小写的, 阅读全文
posted @ 2018-08-29 13:20 杨浪 阅读(14339) 评论(0) 推荐(0)
摘要:C#程序总会生成bin和obj文件夹,为了减小源码的大小,就有必要将这两个文件夹删除,于是想到用批处理文件来删除。 以下是批处理的代码: @echo offset nowPath=%cd%cd /cd %nowPath% ::delete specify file(*.pdb,*.vshost.*) 阅读全文
posted @ 2018-08-23 10:55 杨浪 阅读(738) 评论(0) 推荐(0)
摘要:ZZZ Project 这家外国公司,有很多关于.NET和数据访问的项目,有收费的,有开源的,我之前介绍过 Z.ExtensionMethods 一个强大的开源扩展库 就出自该名下,其他有 如下 1. Bulk-Operations ,这个我相信大家也不陌生,Ado.Net 批量操作数据组件 收费 阅读全文
posted @ 2018-08-08 09:59 杨浪 阅读(1573) 评论(2) 推荐(0)
摘要:淘宝 npm 地址: http://npm.taobao.org/ 1.临时使用 2.持久使用 配置后可通过下面方式来验证是否成功 npm config get registry 或 npm info express 3.通过cnpm使用 使用 cnpm install express 阅读全文
posted @ 2018-08-01 11:12 杨浪 阅读(2078) 评论(0) 推荐(0)
摘要:1.在使用EF时,由于数据库主外键关联,将对象进行Json序列化时会遇到循环引用的问题 解决方案1:使用Newtonsoft.Json工具序列化,忽略循环引用 使用方式1: //使用Newtonsoft 的序列化工具,可以设置忽略循环引用 方法1 //但是还有有循环结构数据的转化,只是循环的级数固定 阅读全文
posted @ 2018-07-24 22:35 杨浪 阅读(929) 评论(0) 推荐(0)
摘要:今天在发布接口的时候出突然出现了一个问题,报错代码为: 经过研究,解决方法如下: 找到相应的属性,添加 attribute:[IgnoreDataMember] 还有时候会出现特殊情况,即使标记以上的attribute也不能解决 具体错误为: 可以在web api的config中(WebApiCon 阅读全文
posted @ 2018-07-24 22:31 杨浪 阅读(2467) 评论(0) 推荐(0)
摘要:使用fiddler抓包的时候经常一下子显示很多的记录,看的眼花缭乱,需要这时候需要使用过滤条件来帮助你,一般常用的有三种过滤条件: 1.域名过滤,只显示特定域名的记录: *.baidu.com表示所有的百度二级域名会话;*baidu.com表示一级域名+二级域名的会话。设置好了后一定要点击Actio 阅读全文
posted @ 2018-07-24 09:54 杨浪 阅读(214) 评论(0) 推荐(0)
摘要:简单的表达式树,注释写得很清楚 下面来个复杂的 多条件动态排序的写法: 阅读全文
posted @ 2018-07-23 18:37 杨浪 阅读(453) 评论(0) 推荐(0)