C#实现动态调用Windows DLL
摘要:调用方法: object obj = WinDllInvoke("Kernel32.dll", "Beep", new object[] { 750, 300 }, typeof(void));函数代码: [System.Runtime.InteropServices.D...
阅读全文
posted @
2014-04-28 14:46
米高佐敦
阅读(1958)
推荐(0)
C#调用C++回调函数的问题
摘要:C++的回调函数中有一个参数是,是返回一个字符串,原则如下:typedef void (*TDataEvent)(char *AData ,int ALen);其中char *AData是从DLL中返回一个字符串,串的内存已经在DLL中分配了下面中我在C#中定义的委托public de...
阅读全文
posted @
2014-04-28 14:23
米高佐敦
阅读(1730)
推荐(0)
C# 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。
摘要:在C#中调用别人的DLL的时候有时候出现尝试读取或写入受保护的内存。这通常指示其他内存已损坏。在传值的时候还是用指针,再在C#中做转换就好了。解决办法:[DllImport("APPLISTCC.dll")]publicstaticexternstringTestFunc1(stringparam1...
阅读全文
posted @
2014-04-28 10:45
米高佐敦
阅读(12480)
推荐(0)
cmd执行调用打开文件
摘要:Process p = new Process();//新进程 p.StartInfo.FileName = "cmd.exe";//打开cmd程序 p.StartInfo.UseShellExecute = false;//不使用shell启动程序 ...
阅读全文
posted @
2014-04-15 11:53
米高佐敦
阅读(519)
推荐(0)
线程池
摘要:到多线程,不可不说线程池,C#中关于池的概念很多,今天来整理下ThreadPool的使用。 是的,如果你很懒,如果你的执行任务比较短,如果你不想对线程做更精细的控制,那么把这些繁琐的东西丢给线程池吧。一:ThreadPool好了,下面看看TheadPool下有哪些常用的方法。1:GetMaxThre...
阅读全文
posted @
2014-04-14 11:11
米高佐敦
阅读(424)
推荐(0)
Task的使用
摘要:在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于“任务的编程模型”所冲击,因为task会比thread具有更小的性能开销,不过大家肯定会有疑惑,任务和线程到底有什么区别?1:任务是架构在线程之上的,也就是说任务最终还是要抛给线...
阅读全文
posted @
2014-04-14 10:19
米高佐敦
阅读(682)
推荐(0)
异步编程模型
摘要:在.net里面异步编程模型由来已久,相信大家也知道Begin/End异步模式和事件异步模式,在task出现以后,这些东西都可以被task包装起来,可能有人会问,这样做有什么好处,下面一一道来。一: Begin/End模式1: 委托 在执行委托方法的时候,我们常常会看到一个Invoke,同时也有一对...
阅读全文
posted @
2014-04-14 09:15
米高佐敦
阅读(497)
推荐(0)
分析任务与线程池
摘要:我们要说的task的知识也说的差不多了,这一篇我们开始站在理论上了解下“线程池”和“任务”之间的关系,不管是说线程还是任务,我们都不可避免的要讨论下线程池,然而在.net 4.0以后,线程池引擎考虑了未来的扩展性,已经充分利用多核微处理器架构,只要在可能的情况下,我们应该尽量使用task,而不是线程...
阅读全文
posted @
2014-04-14 09:05
米高佐敦
阅读(474)
推荐(0)
TCP应用编程
摘要:在WCF出来之后,可能我们玩这些原始的TCP越来越少了,我们知道WCF对TCP进行了再一次的包装,第一反应给我们的或许是同构系统用TCP,异构系统用HTTP,那么问题来了,异构系统到底可不可以用TCP呢?至少WCF是玩不了的,因为其他语言没有针对.net的“服务引用”,也没有什么ChannelFac...
阅读全文
posted @
2014-04-14 09:02
米高佐敦
阅读(353)
推荐(0)
redis的使用
摘要:日常开发中,总会接触到一些好玩的东西,比如这篇的redis,一说到redis,可能就有人跟memcache做比较了,是呀,memcache只能说是简单的kv内存数据结构,而redis支持的数据类型就丰富多了,当然最能让人看上眼的就是SortedSet。有了它,我们就可以玩一些“贪心”的问题,比如适合...
阅读全文
posted @
2014-04-14 08:59
米高佐敦
阅读(345)
推荐(0)
memcache使用
摘要:一: 安装 memcahce像redis,mongodb一样都需要开启他们自己的服务端,我们下载Memcached_1.2.5.zip,然后放到C盘,修改文件名为memcached。1:install install可以说是万能通用命令,首先我们转到memcached目录,然后memcached...
阅读全文
posted @
2014-04-14 08:57
米高佐敦
阅读(445)
推荐(0)
MongoDB 2.6安装
摘要:Workaround to install as a serviceYou can manually install 2.6.0 as a service on Windows from an Administratorcmdprompt.Assuming you have installed MongoDB using the MSI installer, the default path will beC:\Program Files\MongoDB 2.6 Standard. If you have installed in an alternative directory you wi
阅读全文
posted @
2014-04-13 13:44
米高佐敦
阅读(410)
推荐(0)
MongodDB用GridFS方式存取文件
摘要:在实现GridFS方式前我先讲讲它的原理,为什么可以存大文件。驱动首先会在当前数据库创建两个集合:"fs.files"和"fs.chunks"集合,前者记录了文件名,文件创建时间,文件类型等基本信息;后者分块存储了文件的二进制数据(并支持加密这些二进制数据)。分块的意思是把文件按照指定大小分割,然后存入多个文档中。"fs.files"怎么知道它对应的文件二进制数据在哪些块呢?那是因为在"fs.chunks"中有个"files_id"键,它对应"fs.files"的"
阅读全文
posted @
2014-04-13 01:18
米高佐敦
阅读(1625)
推荐(0)
MongoDB基本使用
摘要:成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表show collections:显示当前数据库中的集合(类似关系数据库中的表)show users:显示用户use :切换当前数据库,这和MS-SQL里面的意思一样db.help():显示数据库操作命令,里面有很多的命令db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所
阅读全文
posted @
2014-04-13 00:20
米高佐敦
阅读(230)
推荐(0)
C#中使用官方驱动操作MongoDB
摘要:想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动。C#版的驱动有很多种,如官方提供的,samus。 实现思路大都类似。这里我们先用官方提供的mongo-csharp-driver ,当前版本为1.4.1下载地址:http://github.com/mongodb/mongo-csharp-driver/downloads编译之后得到两个dllMongoDB.Driver.dll:顾名思义,驱动程序MongoDB.Bson.dll:序列化、Json相关然后在我们的程序中引用这两个dll。下面的部分简单演示了怎样使用C#对MongoDB进行增删改查操作。8.2)连接数据
阅读全文
posted @
2014-04-13 00:18
米高佐敦
阅读(765)
推荐(1)
使用nodejs引用socket.io做聊天室
摘要:Server:var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs');app.listen(80);console.log('server listen on port 80');function handler (req, res) { fs.readFile(__dirname + '/public/index.html', function (err
阅读全文
posted @
2014-04-06 12:04
米高佐敦
阅读(616)
推荐(0)