- 博客(69)
- 资源 (28)
- 收藏
- 关注
转载 C# 接受MQTT服务器推送的消息
前言: MQTT是IBM开发的一个即时通讯协议。MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制。 大家可以直接上GitHub下载MQQT服务的源码,源码地址:https://github.com/mqtt/mqtt.github.io/wiki/libraries主要内容:官方文档翻译:M2Mqtt库提供了一个主类MqttCli
2017-07-25 16:03:06 3944
转载 mqtt向android推送消息(一)——发送端使用.net
使用.net进行mqtt协议通讯,主要是为了开发居于mqtt协议向android推送消息,使用.net开发可以参考mqtt.org上面的库,我用的是M2MQTT,网上资料很少,具体例子如下:一、消息发布:C#代码 if (this.sender == null) { this.sender =
2017-07-25 16:02:15 894
转载 MQTT协议 C#客户端
目录(?)[-]引入M2MQTT的dll库文件建立客户端连接并订阅发布消息参考文献1、引入M2MQTT的dll库文件点击此处下载 M2Mqtt.Net.dll2、建立客户端连接并订阅[csharp] view plain copy//创建客户端实例 MqttClient client = new Mq
2017-07-25 14:26:50 3701
原创 context.Database.SqlQuery<>()查询
public class Student { public int ID { get; set; } public string Name { get; set; } public int Age { get; set; } }ctx.Database.SqlQuery("select Name,Age from stud
2017-07-24 17:34:47 8636
转载 C# 4.0 之线程安全集合篇
作为多线程和并行计算不得不考虑的问题就是临界资源的访问问题,解决临界资源的访问通常是加锁或者是使用信号量,这个大家应该很熟悉了。 而集合作为一种重要的临界资源,通用性更广,为了让大家更安全的使用它们,微软为我们带来了强大的并行集合:System.Collections.Concurrent里面的各位仁兄们。 首先,咱们从一个经典的问题谈起。生产者消费者问题 这
2017-07-20 15:41:20 1048
转载 c#集合类的线程安全
即位于System.Collections命名空间下的集合,如Hashtable,ArrayList,Stack,Queue等.其均提供了线程同步的一个实现集合线程同步的问题public class Demo8{ ArrayList list = new ArrayList(1000000); public Demo8() { ThreadPo
2017-07-20 15:37:49 298
转载 多线程操作集合时如何保证集合的线程安全性
先看示例代码1[csharp] view plain copyusing System; using System.Collections.Generic; using System.Threading; namespace CollSecExp { class Program {
2017-07-20 15:35:51 1068
转载 线程池ThreadPool详解
一、CLR线程池 管理线程开销最好的方式:尽量少的创建线程并且能将线程反复利用(线程池初始化时没有线程,有程序请求线程则创建线程);最好不要销毁而是挂起线程达到避免性能损失(线程池创建的线程完成任务后以挂起状态回到线程池中,等待下次请求);通过一个技术达到让应用程序一个个执行工作,类似于一个队列(多个应用程序请求线程池,线程池会将各个应用程序排队处理);如果某一线程长时间挂起而不
2017-07-20 15:33:45 379
转载 ThreadPool.QueueUserWorkItem的性能问题
在WEB开发中,为了减少页面等待时间提高用户体验,我们往往会把一些浪费时间的操作放到新线程中在后台运行。简单的实现代码就是:[csharp] view plain copy print?//代码一 new Thread(()=>{ //do something }).Start(); 但是对于一个请求量
2017-07-20 15:07:50 871
转载 ThreadPool.QueueUserWorkItem 方法 (WaitCallback)
说明:将方法排入队列以便执行,WaitCallback,表示要执行的方法。如果将方法成功排入队列,则为 true;否则为 false。示例:addtest方法需要比较长的时间来响应,因此在button1_Click被点击以后,程序会失去响应,使用ThreadPool.QueueUserWorkItem 后,页面会继续响应其他时间,等addtest执行结束后,响应结果。Windo
2017-07-20 15:06:31 2661
转载 浅谈ThreadPool 线程池
相关概念: 线程池可以看做容纳线程的容器; 一个应用程序最多只能有一个线程池; ThreadPool静态类通过QueueUserWorkItem()方法将工作函数排入线程池; 每排入一个工作函数,就相当于请求创建一个线程; 线程池的作用:线程池是为突然大量爆发的线程设计的,通过有限的几个固定线程为大量的操作服务,减少了
2017-07-20 15:05:36 446
转载 利用 Monitor.TryEnter 来规避 .NET 线程死锁的源代码
在开发多线程的应用程序时,我们会大量用到 lock (...) {} 块。如果 lock 的对象比较多,非常容易发生死锁。死锁的发生很难预料,而且一旦发生在界面线程上,界面就不再刷新响和应用户输入;如果发生在后台线程,后台线程也就阻塞不工作了,死锁必然会导致应用程序不可用。在.NET里发生死锁的原因是什么?以 C# 为例,通常 lock 语句是被转化为对一个资源的无限长时间的等待,所以一旦资源
2017-07-20 10:58:41 394
原创 Monitor.TryEnter方法和lock语句的使用注意
在写代码时,习惯性的用了 lock (searchLock) { ....................... }刚开始也没发现有什么不妥,可后来发现效率上有点问题。原因是lock会在外面等直到占用的线程退出下一个线程才能进去,当有大批量的数据访
2017-07-20 10:57:57 2209
原创 使用线程 Monitor.TryEnter()
Monitor 类的TryEnter() 方法在尝试获取一个对象上的显式锁方面和 Enter() 方法类似。然而,它不像Enter()方法那样会阻塞执行。如果线程成功进入关键区域那么TryEnter()方法会返回true.TryEnter()方法的三个重载方法中的两个以一个timeout类型值作为参数,表示按照指定时间等待锁。我们来看一个关于如何使用TryEnter()方法的例子,Moni
2017-07-20 10:57:19 4147
原创 论多线程是否能加快处理速度
问:多线程是不是能加快处理速度?解析:在使用多线程时,一定要知道一个道理:处理速度的最终决定因素是CPU、内存等,在单CPU(无论多少核)上,分配CPU资源的单位是“进程”而不是“线程”。我们可以做一个简单的试验:假设我要拷贝100万条数据,单CPU电脑,用一个进程,在单线程的情况下,CPU占用率为5%,耗时1000秒。那么当在这个进程下,开辟10个线程同时去运行,
2017-07-19 17:02:11 433
原创 Mvc Action请求方式详解
1、Action方法既没加HttpGet,又没加HttpPostpublic ActionResult Edit(string code,string name){ //表示既接收get请求,也接收post请求}post请求actionvar ss = { "code": "aa",“name”:"张三"}; $.ajax({
2017-07-17 15:41:10 1494
转载 MVC5中使用jQuery Post 二维数组和一维数组到Action
很久没有写了,最近在做一个MVC项目,这是我做的第一个MVC项目。之前可以说多MVC一点都不了解,今天把昨天遇到的一个问题记录下来。MVC大神就请飘过吧,跟我遇到同样问题的可以进来看看。遇到的第一个问题是一个列表页保存排序时传二维数组的问题。以下是我的代码:01jQuery("#btnSave").click(function () {
2017-07-14 19:23:43 371
原创 Jquery post 传递单个和多个数组方法 asp.net mvc
以批量删除数据为例 做批量删除会需要传递要删除的数据ID数组一,传递单个数组[javascript] view plain copyfunction RemoveLog(){ var postModel=[]; //遍历复选框获取要删除的数据ID 存放到数组中
2017-07-14 18:44:59 2443
转载 WebApi接口传参不再困惑:传参详解
WebApi目录(?)[-]一get请求基础类型参数实体作为参数数组作为参数怪异的get请求1WebApi的方法名称以get开头2WebApi的方法名称不以get开头二post请求基础类型参数1错误的写法1错误写法2正确用法3推荐用法三put请求基础类型参数实体作为参数数组作为参数四delete请求五总结
2017-07-14 18:02:18 726
转载 MVC Action 返回类型[转]
Action的返回值类型到底有几个?咱们来数数看。ASP.NET MVC 1.0 目前一共提供了以下十几种Action返回结果类型:1. ActionResult(base)2. ContentResult3. EmptyResult4. HttpUnauthorizedResult5. J
2017-07-14 14:35:27 409
转载 ASP.NET MVC 利用ActionFilterAttribute来做权限等
ActionFilterAttribute是Action过滤类,该属于会在执行一个action之前先执行.而ActionFilterAttribute是 MVC的一个专门处理action过滤的类.基于这个原理 我们做一个权限限制例如:如何访问 HomeController 里的test action using System;using System.Collec
2017-07-13 18:03:45 1074
转载 MVC5的AuthorizeAttribute详解
现今大多数的网站尤其是购物网站都要求你登录后才能继续操作,当你匿名的将商品放入购物车后,不可能匿名购买这时可以转到登录界面让用户进行登录验证。适用系统自带的过滤器MVC5只要将属性[Authorize]置于相关的action之前就行,那么在调用Buy action之前,就会运用Authorize过滤器。1 [Authorize]2 publ
2017-07-13 18:02:38 3016
转载 MVC中利用ActionFilterAttribute过滤关键字
在开发过程中,有时候会对用户输入进行过滤,以便保证平台的安全性。屏蔽的方法有很多种,但是今天我说的这种主要是利用MVC中的ActionFilterAttribute属性来实现。由于MVC天然支持AOP,所以我们这种过滤方式正好利用了MVC的这种特性。下面请看步骤:首先,当用户输入自己的名称的时候,带有类似<BR>的内容的时候,由于MVC默认是需要验证内容的,所以,会抛出一张黄页错误,提...
2017-07-13 18:01:42 785
转载 mvc过滤器详解
APS.NET MVC中(以下简称“MVC”)的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理。这时候就用到了过滤器。 MVC支持的过滤器类型有四种,分别是:Authorization(授权),Action(行为),Result(结果)和Exception(异常)。如下表,过滤器类型接口
2017-07-13 18:00:45 264
转载 IIS应用程序池自动回收问题的有效解决办法
IIS可以设置定时自动回收,默认回收是1740分钟,也就是29小时。IIS自动回收相当于服务器IIS重启,应用程序池内存清空,所有数据被清除,相当于IIS重启,在度量快速开发平台服务器端,为了减小数据库负担,内存中暂存了很多信息,不适合频繁的回收,因为回收会造成服务器端所有存在内存中的数据丢失,如果没有及时保存到数据库中,可能导致程序出现问题。而如果系统使用高峰时期,并不适合回收,回收可能导致几十
2017-07-12 10:35:18 4124
转载 JavaScript面向对象
理解对象对象这个词如雷贯耳,同样出名的一句话:XXX语言中一切皆为对象!对象究竟是什么?什么叫面向对象编程?对象(object),台湾译作物件,是面向对象(Object Oriented)中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统解空间中的基本元素。在软件系统中,对象具有唯一的标识符,对象包括属性(Prope
2017-07-11 11:55:44 321
转载 MVC 数据验证
一、基础特性 一、Required 必填选项,当提交的表单缺少该值就引发验证错误。 二、StringLength 指定允许的长度 指定最大长度: [StringLength(20)] //最大长度不超过20个字符 指定最短于最长限制: [StringLength(20,MinimumLength=3)] //最大长度不
2017-07-05 18:37:10 260
转载 IDEA搭建SpringMVC并用maven配置的小例子(非常详细)
想必作为Java开发来说,使用SpringMVC框架的应该是很熟悉,现在本人用IDEA搭建SpringMVC并用maven配置的一个小例子,记录下来,方便以后回头看看,写得不好的请指出,谢谢!首先先准备好环境,本人使用的是jdk1.8.0_101,apache-tomcat-7.0.65,IntelliJIdea15,当然了无论使用版本不一样,但是都差不多的,可能不同的版本会有点不兼容,大
2017-07-04 13:49:06 4837
原创 MVC控制器与视图传递数据的几种方式
1.后台传值: 1 public class DataController : Controller 2 { 3 // GET: Data 4 public ActionResult Index() 5 { 6 //1 ViewData传值 7 ViewData["na...
2017-07-03 16:05:11 4705
原创 MVC中的ViewData、ViewBag和TempData
一、ViewBag和ViewData的定义[csharp] view plain copypublic dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } 二、ViewBag和ViewData的区别
2017-07-03 15:28:15 286
原创 webApi——启用 session
默认webapi 不开启 session 会话支持所以需要修改配置,手动在 Global 开启 session 支持 1.重写 init() 方法 2.开启session支持Global.asaxusing System;using System.Collections.Generic;using System.Linq;using System.Web;usi
2017-07-02 23:20:29 429
原创 Webapi跨域
一、跨域问题的由来同源策略:出于安全考虑,浏览器会限制脚本中发起的跨站请求,浏览器要求JavaScript或Cookie只能访问同域下的内容。正是由于这个原因,我们不同项目之间的调用就会被浏览器阻止。比如我们最常见的场景:WebApi作为数据服务层,它是一个单独的项目,我们的MVC项目作为Web的显示层,这个时候我们的MVC里面就需要调用WebApi里面的接口取数据展现在页面上。因
2017-07-02 23:14:09 451 1
原创 WebApi特性路由和路由前缀
特性路由WebApi2默认的路由规则我们称作基于约定路由,很多时候我们使用RESTful风格的URI.简单的路由是没问题的,如 api/Products/{id},但有些事很难处理的,如资源之间存在嵌套关系:客户包含订单,书有作者属性等等。对于这种Uri,我们希望的路由是这样的:/costomers/{customerid}/orders 或 /costomers/{customerid}
2017-07-02 23:01:00 4872 2
原创 LINQ系列:LINQ to XML查询
1. 读取XML文件 XDocument和XElement类都提供了导入XML文件的Load()方法,可以读取XML文件的内容,并转换为XDocument或XElement类的实例。 示例XML文件:Product.xmlxml version="1.0" encoding="utf-8"?>Products> Product> ProductID
2017-07-02 11:56:58 274
原创 LINQ系列:LINQ to XML操作
LINQ to XML操作XML文件的方法,如创建XML文件、添加新的元素到XML文件中、修改XML文件中的元素、删除XML文件中的元素等。1. 创建XML文件string xmlFilePath = Server.MapPath("Data/Product.xml");XDocument doc = new XDocument( new XDeclarati
2017-07-02 11:56:26 285
原创 LINQ系列:LINQ to XML类
LINQ to XML由System.Xml.Linq namespace实现,该namespace包含处理XML时用到的所有类。在使用LINQ to XML时需要添加System.Xml.Linq.dll的引用,在代码声明中添加using:using System.Xml.Linq;1. System.Xml.Linq namespace的类及其描述类
2017-07-02 11:55:51 251
原创 LINQ系列:LINQ to SQL Take/Skip
1. Takevar expr = context.Products .Take(10);var expr = (from p in context.Products select p) .Take(10);SELECT TOP (10) [c].[ProductID] AS [Product
2017-07-02 11:53:29 366
原创 LINQ系列:LINQ to SQL Concat/Union
1. Concat 单列Concatvar expr = (from p in context.Products select p.ProductName) .Concat( from c in context.Categories select c.CategoryName
2017-07-02 11:52:34 475
原创 LINQ系列:LINQ to SQL Exists/In/Any/All/Contains
1. Any 返回没有Product的Categoryvar expr = from c in context.Categories where !c.Products.Any() select c;SELECT [Extent1].[CategoryID] AS [CategoryID],
2017-07-02 11:51:39 1178
原创 LINQ系列:LINQ to SQL Group by/Having分组
1. 简单形式var expr = from p in context.Products group p by p.CategoryID into g select g;foreach (var item in expr){ Console.WriteLine(item.Key); foreach (var p i
2017-07-02 11:50:08 1180
ASP.NET WEB API 程序设计
2018-09-10
EntityFramewrok.Extensin.dll批量更新、添加、删除、合并
2017-10-16
一款测试Socket通信的工具
2017-06-23
asp.net版的工作流
2013-06-17
javascript网页开发教程
2011-04-06
.net下的AJAX教程
2011-04-06
企业客户管理系统人事工资管理系统
2011-04-06
vs2008/2005典型示例大全
2011-04-06
开发人员常用js大全
2011-04-03
vs2005水晶报表用法
2008-10-18
700多个API函数详解
2008-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人