Kerwen Blog

Stay Hungry Stay Foolish

C# 异步编程

异步,多线程和并行的区别 首先, Asynchronized (异步)和 Synchronised (同步)是相对应的。 异步就好像去邮局发信一样,你希望把信发到A家,你把信交给邮局工作人员就可以回家了,不用等着A收到再回家,这个就是异步. 同步是,你给A打电话,如果打通了, 你一言我一语的就开始交流,这就是同步。 多线程是你同时给A,B,C…打电话。 多线程是程序设计的逻辑层概念...

LINQ

Reference 语言集成查询 (LINQ)

C# 操作SQL数据库

数据库基本操作 C# 中的 SqlCommand 允许用户查询数据库并发送SQL命令。 SQL命令由SQL连接对象指定。 最常见的有两种方法,用于查询结果的 ExecuteReader 方法和用于插入、更新和删除命令的 ExecuteNonQuery 方法。 准备工作 在正式开始前,先在SQL Server里创建一个Demodb数据库。在Demodb里创建一个demotb的表。表里只有两...

Electron

Electron 简介 Electron 是一个可以用 JavaScript、HTML 和 CSS 构建桌面应用程序的库。这些应用程序能打包到 Mac、Windows 和 Linux 系统上运行,也能上架到 Mac 和 Windows 的 App Store。 意思就是说,你只要拥有前端开发的能力,也可以轻松开发跨平台的桌面应用. Electron 有两种进程:主进程和渲染进程。部分模块只...

COM+ Queued Components

基本概念 基于消息队列( Message Queuing)服务,COM+ QC服务(Queued Components service)提供了一种以异步方式调用和执行组件的简单方法。可以在不考虑发送方或接收方的可用性或可访问性的情况下进行处理。 队列是一种无连接通信机制。 也就是说,发送方和接收方不直接连接,只能通过队列进行通信。 队列提供了一种保存信息的方法,直到接收方准备好获取信息。 发...

How to call COM+ interface in C# program

Create a COM+ dll 如何创建一个COM+应用程序已经在另外一篇文章中介绍过,不再赘述。 COM+ Register as COM+ 当编译生成DemoCorePlus.dll后,我们有两种方式将它注册为COM+应用程序,一种是手动调用命令行,另外一种是在调用时再动态创建。第二种方式其实就是late binding,跟我们直接调用C#接口一样简单。这里我们使用第一种方式。 以...

C# Create Instance

For Late binding we have to use System.Reflection namespace, which allows us to programmatically access the types contained in any assembly. We will see how we can do late bindings in four easy ste...

C#异步操作数据库

Calling stored procedure in C#: https://stackoverflow.com/a/20766080/7352168 async call sql stored procedure Using Async/Await Task Methods With SQL Queries .NET 4.5 C# async with SQL query Is it...

C# Unit Test moq mock的使用

moq提供了mock,使我们在做C# unit test时可以mock接口,从而减少外部依赖。 假设我们有个加法计算器程序, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class CalculateImp { private const string calculateProgID = "Calculate.CalculateMa...

指数基金投资指南

50%的沪深300指数基金,15%的上证红利基金,30%的标普500指数基金,5%的纳斯达克指数基金 所有不能产生现金流的资产,价格都是由供求关系决定的。 指数 指数是一个选股规则,它的目的是按照某个规则挑选出一篮子股票,并反映这一篮子股票的平均价格走势。 每一个指数都有一个点数。这个点数就是指数背后公司的平均股价。 ◆ 指数基金的分类 指数基金最常见的一种分类,就是分为宽基指数...