0

多线程(5)async&await

.net 4.0的Task已经让我们可以非常简单地使用多线程,并且可以有返回值,也可以支持线程的取消等操作,可谓已经很强大了。但.net 4.5为我们带来了async&await,使得实现多线程的写法更简单,更优美,更符合线性思维。 下面通过一个例子来演示通过Task和async&await分别如何 ...

永远的麦子 发布于 2017-06-23 19:03 评论(0)阅读(9)
0

多线程(4)Task

使用线程池使得创建线程已经很简单了,但是使用线程池不支持线程的取消,完成和失败通知等交互操作,为了解决这些问题,.net 4.0带来了TPL(Task Parallel Library)任务并行库,下面就来总结下Task的使用。 创建和运行任务 在.net 4.0下使用task创建一个线程非常简单, ...

永远的麦子 发布于 2017-06-23 17:31 评论(0)阅读(11)
0

对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。

问题原因可能是: 1. 非空列未插入值错误 2. 多个表间外键列长度不一样 3. ef上下文对象db为空 4. ef上下文设置属性为 db.Configuration.ValidateOnSaveEnabled = false; 5. 内容长度超过列最大长度 6.解决方案里后来新增了类库但未更新 7 ...

守望阳光01 发布于 2017-06-21 18:39 评论(0)阅读(33)
0

多线程(3)ThreadPool

使用Thread类已经可以创建并启动线程了,但是随着开启的线程越来越多,线程的创建和终止都需要手动操作,非常繁琐,另一个问题是,开启更多新的线程但是没有用的线程没有及时得到终止的时候,会占用越来越多的系统资源,影响性能。 所以,.net为我们引入了ThreadPool(线程池),我们只需要把要执行的 ...

永远的麦子 发布于 2017-06-20 17:45 评论(0)阅读(79)
1

多线程(2)Thread

我们先从最基础的Thread说起。 创建并启动线程 创建并启动一个线程,如下代码: 1 namespace ConsoleApplication17 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 var thread ...

永远的麦子 发布于 2017-06-20 17:05 评论(0)阅读(41)
6

支付网关思考

支付网关思考 目的 支付网关是为了屏蔽各种 支付工具之间的差异,对订单系统行程一个统一的,标准的接口。如下图所示 思路 事物补偿机制 对账 接口设计 1. 订单状态同步 bool UpdateOrderPaySatus(string orderId, int paySatas) 2. 预支付请求签名 ...

Wang.Crystal 发布于 2017-06-20 16:38 评论(3)阅读(601)
2

多线程(1)认识多线程

多线程在项目开发过程中非常非常重要,这个系列就来详细总结一下,首先认识一下多线程。 windows为什么要支持多线程 计算机的早期时代,操作系统没有线程的概念,整个系统只运行着一个执行线程,其中包含操作系统代码和应用程序代码。只用一个执行线程的问题在于,长时间运行的任务会阻止其他任务的执行。例如16 ...

永远的麦子 发布于 2017-06-20 15:36 评论(0)阅读(80)
2

泛型

泛型是.net 2.0就有的特性,泛型在我们的平常的开发过程中使用得也非常多,为了更深刻地理解泛型,这篇文章就来总结一下。 什么是泛型 可以用下面2点来概括: 1,首先泛型也是一种类型(可以通过IL代码看出来)。 2,泛型提供了类型参数化的能力,允许用不同的类型进行实例化,可以简单地理解为:泛型是类 ...

永远的麦子 发布于 2017-06-20 11:46 评论(0)阅读(76)
0

C# 泛型

一、泛型 假设我要写个公用的输出传入参数的方法(不用泛型),因为万物皆对象的理由,我先定义一个方法show(object obj),如下面所示: 执行这个方法 如果传入的是值类型,值类型转换为引用类型,我们知道会发生装箱,这是对性能的损害,想想如果是个集合,就得多次执行装箱、拆箱操作。如ArrayL ...

Rich.W 发布于 2017-06-18 21:30 评论(0)阅读(492)
0

C#基础知识-使用XML完成一个小程序(十一)

上一篇中讲到XML基本的结构,还有增删改查的方法,这一篇中我们就来利用XML来完成一个简单的订单系统,主要是实现一个简单学生名单的增删改查,如果想要应用到实际的环境中建议考虑数据量的问题,如果数据量大使用XML的话会比较耗时,使用SQL的性能会好一些 这里使用WinForm窗体程序,大致界面如下: ...

码农改变世界lyf 发布于 2017-06-18 15:48 评论(0)阅读(143)
0

C# wx获取token基本方法

#region 请求Url,不发送数据 /// /// 请求Url,不发送数据 /// public static string RequestUrl(string url) { return RequestUrl(url, "POST"); } #endregion #region 请求Url,不... ...

猿大头 发布于 2017-06-16 17:46 评论(0)阅读(121)
0

关于asp.net假分页的删除操作的随笔

作为一个新人,上周负责优化一个后台管理系统,遇到一个问题:点击删除按钮之后,页面又回到了第一页。 而我需要达到的效果是:点击了删除按钮之后,原来是那一页,删除后还是在那一页。 由于项目是已经验收了的,所以我不能改动太大。我在网上页找了很久,也有许多解决方案,但都不太适合。 这个系统数据不多,所以用的 ...

Isai 发布于 2017-06-16 17:05 评论(0)阅读(91)
0

ADO.NET中的DataSet和DataReader

ADO.NET提供两个对象用于检索关系型数据并把它存储在内存中,分别是DataSet和DataReader。DataSet提供内存中关系数据的表现--包括表和次序、约束等表间的关系的完整数据集合。DataReader提供快速、只向前、只读的来自数据库的数据流。 使用DataSet时,一般使用Data ...

PlainCoder 发布于 2017-06-16 11:28 评论(1)阅读(128)
0

visual studio 安装与sqlserver 安装

先sqlserver再visual studio ,避免安装目录重复(sqlserver 中包含一部分visual 而 visual studio 中也包含有部分sqlserver内容) 安装visual studio 2015 功能太多,选择做一个完整的安装,那么,Visual Studio是一个 ...

泯伤之人 发布于 2017-06-16 11:17 评论(0)阅读(68)
0

vs 中引用自己创建程序集出现小叹号

出现的问题: 原因是.net frame work版本不一致 解决方法: 项目单击右键-->属性: 改为与你要引用的项目的程序集的版本一致即可 ...

大稳·杨 发布于 2017-06-16 10:15 评论(0)阅读(49)
0

C#中匿名委托以及Lambda表达式的学习笔记

一. C#从1.0到4.0, 随着Linq,泛型的支持,代码越来越简单优雅 二.集合操作,也可适于到EF的数据库操作 1.创建两个实体类 2.插入数据 3. 查询年龄小于3岁的人1班和2班分别有几个人 4.输出 ...

NeverStop2017 发布于 2017-06-15 10:58 评论(0)阅读(127)
1

C# 相关面试试题总结

最近一个搞NET开发的朋友离职了,想让我给他找点关于NET的相关面试题,准备抱一下佛脚,迎接新的挑战。 我赶紧找到以前检索的各种宝典,试题,今天梳理一下关于NET的基础知识点。 1、面向对象语言的三大特性:封装、继承、多态; 2、接口和类有什么异同: 不同点: ①接口不能直接实例化。 ②接口只包含方 ...

帝都-十年 发布于 2017-06-15 00:11 评论(2)阅读(270)
0

html转PDF

工具包及demo: 链接: https://pan.baidu.com/s/1i4TUUep 密码: gssq ...

where_are_you 发布于 2017-06-14 12:25 评论(0)阅读(55)
0

记一次 net 使用 data.oracleclient 使用错误OCIEnvCreate 失败, 返回代码为-1

前提: 公司除了领导和开发人员具有管理员权限,其他人员使用的都是域账号。 过程: 应要求开发一个 winfrom项目,使用data.oracleclient 本地开发,调试无误,放到服务器共享域用户使用,报错 OCIEnvCreate 失败, 返回代码为-1 , 百思不得其解,网上也有很多这种错误, ...

风格不同 发布于 2017-06-14 10:02 评论(0)阅读(64)
4

C# 并行任务——Parallel类

一、Parallel类 Parallel类提供了数据和任务的并行性; 二、Paraller.For() Paraller.For()方法类似于C#的for循环语句,也是多次执行一个任务。使用Paraller.For()方法,可以并行运行迭代,迭代的顺序没有定义。 在For()方法中,前两个参数是固定 ...

Rich.W 发布于 2017-06-13 19:50 评论(0)阅读(1242)