最近在做一个项目,由于在项目中用到文件的修改和增删,而这些操作都是在IIS运行的情况下完成的,其中我们还对进度进行跟踪,涉及到线程等等因此我们应用静态变量来完成这一跟踪。但是在项目运行过程中,静态变量经常失效,而导致这一结果的是由于IIS的应用程序重启,使得应用程序池回收静态变量等等都失效。以前没有注意到这个问题,搞了很久才把这些给搞清楚。 Read More
今天是个不错的日子,不仅有人收了我做徒弟从此传授我有关C++的一些知识,由于前一段时间喜欢上了外挂的研究也用到了一些MFC的知识及一些Windows APIs编程,但是对C++还是没有从根本上认识。我从来没有过一个真正意义上的计算机老师(那些只会拿着课件给我念的不算),由于一路走来都只有我一个人,身边的人也全是学习科研的,美其名曰:生物工程,我想考过大学的人都知道这个科目的热度有多大---全国十大骗人专业之首。我放弃了我的专业的所有,一头投向计算机中,这可能也是由于我在高中就开始玩“黑客技术”以及我对计算机的敬仰之情所致。说了这么多,都是要感谢这位师傅,而且还是个女生,虽然我们是在网路上认识.....前一段时间看了《Windows核心编程》没有深入了解,谁都知道一本比较好的书没看个几遍是很难懂得他的精髓的,和我学习. NET一样(我看了红皮人头书WROX出版的《.NET入门经典》总共四遍,第一遍不知道说什么;第二编好像是这样;第三遍基本上懂一点;第四遍他才真正把我从VB中给带到C#过来而一发不可自拔,其实中间版本也有更替了现在应该是第4版了吧)。今天师傅就推荐了一本《C++程 Read More
很多时候我们只要用到一些简单的Ajax功能,提供一些简单的回调而不需要很花哨的东西。然而现有的很多Ajax库都很大,虽然功能很多但是我们很多时候根本就不需要用到他们,我就遇到过那样的经历,所以我想弄一个很简单的Ajax回调函数来搞定。首先我想到的是CS中的AjaxManager,我就是把它简化一下,去掉不想要的和很多更适合我们习惯的一些方法。 Read More
在前一些日子我在博客上写了一些关于.NET 3.x(C#3.0)的一些特性,其中也提到了一些关于LinQ的一些查询句法(语法),从今天开始我们来看看LinQ to SQL(以后简写为LinQ2SQL),就是对数据库的查询,以前叫做DLinQ。经常看到LinQ那到底是什么呢?他是Language Integrated Query的缩写,以一种类似SQL语句的形式来对对象进行操作的编程方法。 Read More
今天我们来看看C#3.0中的最后一个特性:匿名类型。什么是匿名类型呢?在我们开发过程中离不开JS,JS中的变量声明就属于匿名类型。匿名类型有一个关键字var,但是在C#3.0中的匿名类型在CLR并没有改变,只是在第一次付值时进行类型的判定,而且一旦付值该变量的类型也就确定了,在后面的引用中就不能够改变了,本文和前面一样通过一些例子来说明匿名类型的使用和原理等。 Read More
每天记录一下C#3.0的一些特性,本文主要要介绍的是LinQ的一些类查询的用法。在前面几篇文章中我们了解到了C#3.0中的一些新特性,而我觉得在C#3.0中改变最大或着说变化最大的就要属LinQ了。今天我们通过一些例子来讲解一下他的一些用法,因为我也是在摸索阶段真正项目中还没有涉及到这中用法。 Read More
随着岁月的流逝,VS也从2005慢慢的步入2008,.NET也将进入3.5版本,学习的脚步也要慢慢赶上。今天我们来看看C#3.0的又一特性Lambda表达式,它由2.0代理演化而来,也是为LinQ做好必要的准备。Lambda表达式首先我们要知道他的运算符“=>”,在我以前的一篇文章中可以得到在不同版本中所使用代理和通过Lambda表达式的一个例子,你可以在这里看到:[C#3.0]新特性概览.今天我们举个另外的例子,让我们更好的理解这个Lambda表达式,因为我们在LinQ中会经常用到这个东东,所以就应该好好看看,况且这也不是什么难事。 Read More
今天我们接着看一下.NET 3.x的新特性:扩展方法。这里需要说明的是我所说的.NET 3.x的新特性,其实是C# 3.0的一些新特性,考虑到LinQ等我就把这些特性叫做.NET 3.x新特性。可能这样叫会有些歧义,但是我还是觉的这样还好,闲话不多说让我们进入正题。我觉得在C#3.0中引入自动化属性等就已经减少了我们不少负担,而扩展方法是我最喜欢的,它提供的可视化提示中显得更为巧妙。但是我也会觉得有点烦琐,当一个类的扩展方法太多时,就像有LinQ存在的情况下,会出现一大批的提示方法...... Read More
今天公司弄了个VS2008 beta 2中文版,虽然很大一部分是为了JS的智能提示外,也应该好好的温习一下.NET的一些新特性,由于以前写过一些文章,但是都没有系统的学过,都只是尝一下新鲜感。不知道从那开始,所以今天就来看看自动话属性,以及对象初始化和集合初始化的一些新特性。 Read More
经常我们要用到批量操作时都会用到字符串的拆分,郁闷的是SQL Server中却没有自带Split函数,所以我们只能自己动手来解决一下。为了减少和数据库的通讯次数,我们都会利用这种方法来实现批量操作。当然有时我们会借助Execute这个方法来实现,利用这个方法有一个不好的地方就是她只认识以","分割的字符串,在传IDs批量操作的时候还是可以达到目的,但是经常我们要用到更复杂的操作时我们就需要自己动手来完成了...... Read More
郁闷了我一天的东东从中午拿回U盾后就开始装这个东东,baidu, google都被我用光了还是没有搞好!去工商银行的论坛上发每人理我,其实我还发现了工商银行的那几个版主没多少水,回答千篇一律,如果碰到技术上的问题就不回答。看了以前前辈们留下的问题都是待解决,要不就要我们用XP,IE6之类的东东,唉,总归一个字--惨。如果知道那么麻烦,如果知道... Read More
上网baidu一下或google一下这个东东就有很多人在问这个问题,最近我也用到了这个,所以就留下来以备往后需要是可以查找。我想通过这个来作为C#调用windows APIs的出发点,在以后的随笔当中介绍一下我现阶段用到的一些APIs或非托管类库。在调用非托管DLL的APIs前,我们应该好好掌握一下 DllImportAttribute,MSDN给出的定义为:可将该属性应用于方法。DllImportAttribute 属性提供对从非托管 DLL 导出的函数进行调用所必需的信息。作为最低要求,必须提供包含入口点的 DLL 的名称。 Read More
好久没有写博客了,前些天无意中和同事讨论时聊到了URL重写,当时我想和我同事想不到一块去,后来我看了Scott Guthrie关于IIS7.0和4GuysFromRolla创始人Scott Mitchell的URL重写大作后才苏醒过来。 Read More
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。 Read More
很早就有学习C++的冲动,但是由于一直以来坚持C#而没有真正进入过C++世界很多的文章包括微软的也只有C++转向C#的文章,而很少有人写过由C# 进入C++的文章。由于我对游戏开发很有兴趣,在我看到的现状来看C++是游戏界的首选,我是说大型游戏而不是手机之类的。同时朋友会叫你写一个小程序,比如一个计算器,你总不能叫他装一下.NET框架再运行吧,所以多我来说学习C++还是很有必要的,不知道大哥大姐们是怎么个想法。在此我想记录一下C# 中和C++的区别和联系等等,OK今天首先看看C#中和C++中的类及其继承等等。 Read More
记下几个字符串东东,即他们得区别:
LPSTR:一个32位指向字符串的指针,相当于char *;
LPCSTR:一个32位指向字符串常量的指针,相当于const char *;
LPWSTR:一个32位指向Unicode字符串指针,相当于wchar_t *;
LPCWSTR:一个32位指向Unicode字符串常量指针,相当于const wchar_t *;
1 #ifdef UNICODE
2 typedef LPWSTR LPTSTR;
3 typedef LPCWSTR LPCTSTR;
4 #else
5 typedef LPSTR LPTSTR;
6 typedef LPCSTR LPCTSTR;
7 #endif
当然我们也可以相互转换一下(强行转换会变乱码):
LPWS Read More
我喜欢用FireFox,而IE是浏览器中的老大。FireFox用标准的JS,听说IE比较人性化,IE7也比IE6标准,我们程序员天生就是个苦命的孩子不得不做到这两个浏览器的兼容。在我们所做的项目里基本上都实现了这两个浏览器的兼容,在制作过程中也遇到很多IE和FireFox之间的兼容性问题,在此记下以便以后之用!! Read More
在线程编程时能够为我们的性能提高不少,但是线程不是请求所以请求上下文我们就不能够用到!我在编程时遇到的几个地方留下个映像,同时也希望给不知道的同志们留个纪念!!! Read More
我们经常都会用到颜色,以前我只知道RGB,而不知道前面的A是什么,在学习XAML的是后碰到颜色都是有加A的,经过baidu,google一番终于知道了他的意思。A表示Alpha(透明度),FF表示不透明,就是原颜色,00表示全部透明:) Read More
很多人都已经开始了SilverLight的学习,虽然对于M$的产品需要牺牲很多小白鼠才能够比较稳定,今天我也来当当小白鼠。我选择的是SilverLight1.1(C#)当然是Alpha版本的,虽然JS在Orcas([JS.IntelliSense]VS2008(Orcas) So Cool) 中也已经不算什么难的事情了,但是我还是觉得C#比较好一点。当我装上SilverLight开发所需要的所有器械后,拿出来的第一个Getting started例子就是Clock,但是惨不忍睹啊,编译通不过。对于第一次学习这个东东,我哪知道错在什么地方,好像那个例子是用JS写后改过来的,总之在我用是就不能通过了。还好找到了另一篇文章来帮助我完成了这个例子,OK,闲话不多说了,本文将讲解SilverLight的几个基础,并一步一步的带你走完“模拟时钟”。 Read More