阿不

潜水

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2008年3月6日

摘要: 不管在哪种平台领域,计时器对象在日常开发中有着相当重要的地位。在.NET中,如果平常你不是特别注意的话,那你肯定不会发现,在.NET Framework中竟然存在三个Timer类型,分别在: System.Timers System.Threading System.Windows.Forms 三个不同的命名空间下。(这里我们还暂且不算ASP.NET AJAX中新的那个Timer,这个Timer是... 阅读全文
posted @ 2008-03-06 18:20 阿不 阅读(5482) 评论(11) 推荐(2) 编辑

2008年3月4日

摘要: 原来一直在Visual Studio 2005下做开发,考虑Visual Studio 2008 RTM已经发布有一段时间了,再加上在Visual Studio 2008上有很多令人心动的功能,比如JavaScript脚本的Intellisence,自动属性,多目标框架和很多方面的改进。所以一直在找一个合适的机会升级。今天终于等到这个机会了。 相对于Visual Studio 2003升级到Vis... 阅读全文
posted @ 2008-03-04 13:30 阿不 阅读(4649) 评论(18) 推荐(0) 编辑

2008年1月28日

摘要: 为了响应《博客园迎新春对联大赛》,我也想了一对: 上联是:发扬共享白日博 下联是:取之精华夜来客 横批是:逛博客园 虽然很多人写博客是在晚上的时间比较多,但是没有想到更好的对法了。呵呵 阅读全文
posted @ 2008-01-28 08:54 阿不 阅读(1481) 评论(10) 推荐(0) 编辑

2008年1月22日

摘要: 自从博客园闪存发布了QQ机器人以后,闪存数量一下子就上升了很多。很多人也一直都在询问QQ机器人是如何开发的,这足以说明QQ在中国不仅仅是普通人使用的IM工具,在程序员圈子里也相当有人缘的,其老大地位不容怀疑啊。我这篇也算是给解答一些朋友的疑惑吧。 所谓的IM机器人(QQ,MSN),其实就是一个简化版的IM客户端(QQ,MSN)。利用这个简单的客户端连接到IM服务器,接收和发送消息来达到自动回复的目... 阅读全文
posted @ 2008-01-22 19:41 阿不 阅读(16438) 评论(74) 推荐(1) 编辑

2008年1月16日

摘要: 发了几篇与DotMSN有关的博客后,有些朋友也在问我关于开发MSN机器人的一些问题。我也没有用过DotMSN 1.0,不知道他是什么样的,那我就用DotMSN 2.0简单介绍一下如何使用DotMSN来开发MSN机器人。在DotMSN的源码中,已经有完整的例子了,只是对一些事件没有做更详细的介绍和使用说明。 要登录MSN,要先创建一个Messenger类型的对象,并且设置好一些环境参数: 1... 阅读全文
posted @ 2008-01-16 19:46 阿不 阅读(17680) 评论(112) 推荐(0) 编辑

摘要: 在Visual Studio IDE中,有一个并不起眼的功能,你稍不注意就有可能将它忽略,就是当前在IDE中激活打开的文件在Solution Explorer里自动定位的功能。当你在所有打开的文件中进行切换时,在Solution Explorer中也会自定同步到这个文件的目录下面,这个功能对于我们来查找当前文件非常有用。 在装了Visual Studio 2008后,在两个版本的VS IDE中都没... 阅读全文
posted @ 2008-01-16 14:15 阿不 阅读(2597) 评论(7) 推荐(0) 编辑

2008年1月10日

摘要: 使用DotMSN来开发MSN机器人,机器人在一段时间里如果没有接收到任何会话请求时,经常会自动断线。而且这个连接断线是没有响应任何事件的,而且Connected是True,Owner.Status也是正常的,这不得不让人头痛啊。 经过查阅一些资料,发现只要定时向MSN服务器发送Ping命令,以保持客户端与服务器的连接,即可解决这个问题。但是问题是DotMSN里提到的SendPing()方法它并没有... 阅读全文
posted @ 2008-01-10 09:31 阿不 阅读(3990) 评论(23) 推荐(0) 编辑

2008年1月7日

摘要: 最近使用DotMSN开发MSN机器人,由于使用的是代理上网,在使用中发现虽然DotMSN支持代理,但是好像是支持的不够彻底,使用Socks5代理只能登录,并不能发送消息。检查了代码,发现在发送信息的SocketClient并没有使用指定的代理服务器。这个版本修复了这个问题,并且通过代理已经可以正常使用DotMSN的各项功能。 另外,DotMSN 2.0.2中在登录后在XihSolutions.DotMSN.NSMessageHandler.OnILNReceived(NSMessage message)会出现Error:Value was either too large or too sma 阅读全文
posted @ 2008-01-07 17:42 阿不 阅读(3764) 评论(31) 推荐(1) 编辑

2008年1月3日

摘要: 关于PostBack,我曾经也写过一篇博客《深入理解 __doPostBack》。在这篇文章里有对PostBack进行了一些研究,现在看来研究的还是不够深入。不过从原理上来说,ASP.NET WebForm中的一般WEB控件(为什么是一般呢?因为如Button等少数控件不是调用__doPostBack方法的)在向服务器回发请求时,调用的就是__doPostBack方法,通过表单提交的方式来向服务器... 阅读全文
posted @ 2008-01-03 19:53 阿不 阅读(6260) 评论(16) 推荐(0) 编辑

2008年1月2日

摘要: 今天从ASP.NET博客网站上看到微软出版社发布了三本免费电子书,内容分别是关于LINQ/AJAX/Silverlight1.0: Introducing Microsoft LINQby Paolo Pialorsi and Marco Russo ISBN: 9780735623910 Introducing Microsoft ASP.NET AJAXby Dino Esposit... 阅读全文
posted @ 2008-01-02 09:05 阿不 阅读(4464) 评论(13) 推荐(0) 编辑

2007年12月23日

摘要: 关于ViewState我曾经有过几篇博客的讨论《客观看待ViewState对Asp.net程序作用和影响》,《"Validation of ViewState Mac failed" exception》《回发事件执行很慢的问题.》。时过今日,我想从我目前的经验来总结,我们该如何来控制ViewState才是比较合理的。 ViewState是ASP.NET的一个独创设计。它为用户在进行Web开发时带... 阅读全文
posted @ 2007-12-23 18:22 阿不 阅读(3504) 评论(34) 推荐(0) 编辑

摘要: 首先声明,这不是真的就是什么Best Practice。只是看了老赵的文章里面提到了WebForm的Best Practice这个词汇后,突然有了这样的想法,把自己平常在使用WebForm开发过程当中,自己认为比较好的开发实践拿出来与大家共享,这个可能不是我一个人能完成,希望大家都能参与进来。由于平常我写博客并没有太多的耐心和持续性,三分钟热度要过了就不了了之了,所以虽然现在比较晚了(刚过0点),... 阅读全文
posted @ 2007-12-23 12:37 阿不 阅读(3364) 评论(13) 推荐(0) 编辑

2007年12月20日

摘要: 关于JAVA与.NET的争论从来就没有停止过。相信标题就足于吸引许多人的目光,但我无意在博客园里从新挑起一翻新的争论。但是今天与一位比较有资历的同事探讨起了关于.NET与JAVA的话题,同时自己也在JAVA开源方面有一些需求,因此就有了这方面的思考。 事情过程大概是这样的,同事希望我们逐步转向JAVA路线,利用JAVA来实现SOA架构的产品。然后他认为微软在SOA方面还没有实质的产品,或者说支持力... 阅读全文
posted @ 2007-12-20 14:10 阿不 阅读(5305) 评论(66) 推荐(1) 编辑

2007年12月19日

摘要: 在上篇中,介绍了使用NBear.Mapping进行实体对象与ADO.NET对象的互转功能,这可能是我们开发过程中最常的一种映射了。除此之外,NBear.Mapping还支持实体对象与NameValueCollection,IDictionary等弱类型的互换转,下面就让我们来看看吧。 NameValueCollection与实体对象 当你希望把Request.QueryString的字段赋值到一个... 阅读全文
posted @ 2007-12-19 19:56 阿不 阅读(4836) 评论(20) 推荐(0) 编辑

2007年12月18日

摘要: 在你的项目中,如果不使用ADO.NET对象,那么都要做一件事,就是要把查询的DataTable或IDataReader对象转换成实体对象,或者叫映射。比如ORM工具,它帮我们做好了所有事情,iBatis它帮我们完成了执行SQL和实体映射的工具。还有一些是使用Attribute + 反射的方式来实现。现在你又多了一种选择,你完全可以使用NBear.Mapping来帮你完成这个工作。这里的例子仍然使用... 阅读全文
posted @ 2007-12-18 19:26 阿不 阅读(5429) 评论(27) 推荐(0) 编辑

2007年12月17日

摘要: 不断有朋友希望能提供一些示例,同时我也发现,单纯发一些文字性的教程。大家好像都没有看明白NBear.Mapping是干嘛用的,所以从这篇开始我会陆续以实例的方式介绍NBear.Mapping的使用,以便给大家直观的印象。这篇我们首先关注的是对象与对象间映射,在这篇文章里你将会看到。即使你的项目不需要与数据库的映射,NBear.Mapping在日常开发中也会给你带来非常大的帮助。 就如之前教程介绍的... 阅读全文
posted @ 2007-12-17 20:08 阿不 阅读(5568) 评论(14) 推荐(0) 编辑

2007年12月16日

摘要: NBear.Mapping 1.0.1.1 beta 已经发布,新版本中,原有的使用没有大的变化,您仍然可以直接使用ObjectMapping来进行映射。但是为了能更好支持新增加的配置功能,同时获得更优的性能。仍然推荐您使用ObjectConvertor所提供的接口。同时为了能让您更快的熟悉和使用NBear.Mapping,我们会尽快的发表一些使用教程和使用的例子(目前可以在NBear.Mappi... 阅读全文
posted @ 2007-12-16 22:23 阿不 阅读(6964) 评论(16) 推荐(0) 编辑

摘要: 在NBear.Mapping中提供了一种灵活的配置方式,允许你在不改变原有代码的情况下,随时对映射需求进行修改,同时即使你在开发初始期不进行配置,它仍然可以正常的工作。极大的方便你的开发和维护工作。 在你使用ObjectConvertor的接口进行对象映射时,系统会根据你指定的输入类型(如果没有指定则以inputObject的类型为准)、输出类型和viewName,去查找系统已经存在的对应的配置(... 阅读全文
posted @ 2007-12-16 22:13 阿不 阅读(3044) 评论(18) 推荐(0) 编辑

摘要: 在新版本的NBearMapping中,你不需要手工去实例化ObjectMapper 对象。取而代之的是ObjectConvertor类,在这个类中提供了多种的静态重载方法,来方便你使用。主要的方法重载有:ToObject;ToList;ToDataTable。 ToObject 1: public static OutputType ToObject(object inputObject... 阅读全文
posted @ 2007-12-16 20:07 阿不 阅读(4882) 评论(8) 推荐(0) 编辑

2007年12月15日

摘要: 在Teddy 的博客《NBearMapping - 开源通用对象映射组件v1.0.0.2 beta - 支持枚举类型字段》,介绍了NBear 的一些功能。由于这将是NBearV4中的一个基础组件,所以对性能的要求比较严格。原先的性能相对还是比较难以满足要求,在此基础框架思路下,经过近一段时间的开发,终于完成了NBearMapping新版本的开发,这个版本的主要功能仍然不变,在此基础上新增了: 1、对配置语法的支持。 2、简化了使用接口。 3、重新设计了映射实现,支持不同字段类型的自动转换,同时具备了非常高的性能。性能与手工代码相比不会有大的损失,在相同字段类型映射时,性能与手工代码相当(有时的 阅读全文
posted @ 2007-12-15 20:12 阿不 阅读(5280) 评论(22) 推荐(0) 编辑

摘要: 年关将进,也看到了园子里的一些朋友对自己的2007进行了一些总结和回顾,不谈技术,也谈技术,引起大家广泛的关注。我的这个2007不期望能引起多大的关注,但是也希望能对自己即将过去的2007所做,所学,所想和所取得的进步与不足进行简单的总结。做为一种思考,也是为明年的发展方面进行一些初步的规划。也是希望能起到立贴为据,待到明年这个时候来回过头来看这篇总结的时候,感觉自己进步,这就够了。 从博客开始,... 阅读全文
posted @ 2007-12-15 18:45 阿不 阅读(3208) 评论(18) 推荐(0) 编辑

2007年11月27日

摘要: 在asp.net ajax中,使客户端调用WebService变得非常的简单,而且非常有用(个人觉得这个功能是asp.net ajax的核心,很多与客户端的交互都需要个功能来辅助实现)。那在EXT中,标准的客户端与服务器端交互,使用的是自定义的HttpHandler,而且服务器在处理客户端提交的参数也都必须是弱类型的使用方式,也会使用带一定的不便。如果你曾经使用过Asp.net ajax调用Web... 阅读全文
posted @ 2007-11-27 19:43 阿不 阅读(7303) 评论(32) 推荐(0) 编辑

2007年11月26日

摘要: 之前有翻译过《Ext js 2.0 Overview》,不过由于时间原因,只翻译到生命周期那一部分,后面就没再翻译下去了。随着Ext 2 RC1的发布,这篇概述已不再是预览版了,现如今你可以从这里阅读它的官方正式版了。同时在Ext中文站也已经翻译了相关的发布文档,其中也包括《Ext 2概述》。下面是关于Ext 2的相关资源: Ext 2 RC1的下载地址:http://extjs.com/down... 阅读全文
posted @ 2007-11-26 16:07 阿不 阅读(3759) 评论(5) 推荐(0) 编辑

2007年11月24日

摘要: 铁链总是很难剪断的,.NET的对象引用链条就犹如铁链那么坚固。稍有不注意,你就会因为这个链条而让你的程序背上沉重的负担,进而让你的程序Crash。接下来我们就结合WinDbg来分析一个这样的例子。 上回说到,解决了Lucene.net的缓存问题后,内存依久就是如洪水水位一样,无情的暴涨,马上又到了警戒水位了,没有办法,只有炸堤防洪。要得彻底的解决问题,还得依靠Windbg和dump文件。这回,我捕... 阅读全文
posted @ 2007-11-24 13:49 阿不 阅读(5599) 评论(21) 推荐(1) 编辑

摘要: 在上篇中,介绍了如何使用adplus来捕捉dump。我们可以使用这个命令:adplus -Crash -p 进程ID(或-IIS) -quiet -fullonfirst -o C:\dumps 。但是我们在哪里执行这段命令呢?在控制台命令行,切换到Windbg的安装目录下。然后执行上面的命令,当你监控的进程出现异常时,它就会捕捉到该进程的所有相关信息到dump文件中(前提是fullonfirst... 阅读全文
posted @ 2007-11-24 11:27 阿不 阅读(5366) 评论(5) 推荐(0) 编辑