阿不

潜水

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

随笔分类 -  .Net

上一页 1 2 3 下一页

摘要:关于WebForm与MVC的讨论,年初的时候已经有一段很长时间的讨论了。我无意再去争论哪种架构模式更适合我们做开发,不管是哪个领域,技术的存在都有其不同的历史意义和市场价值。我更关注的是,在合适的机会去掌握更多的技术,从技术实现的角度来寻找当前阶段最为顺手的一种做事方法。所以请注意,在这里不讨论WebForm与MVC的优劣,适用场景。在这里只有ASP.NET WebForm与ASP.NET MVC... 阅读全文
posted @ 2008-07-09 13:40 阿不 阅读(5863) 评论(18) 推荐(0) 编辑

摘要:在这个系列的上篇中介绍了数据绑定语法的原理以及.NET中如何实现单向绑定,中篇我们简单的介绍了ASP.NET 2.0 中新增的Bind语法配合DataSourceControl来实现数据的自动双向绑定。这两部分的内容相对动态抽象并且不常接触,没有很好的源代码支持很难解释清楚,要想真正弄清它们的内部原理,还需要大家亲自动手去反编译分析动态编译的程序集。 在了解了数据绑定语法的原理后,我还想来谈谈我中... 阅读全文
posted @ 2008-05-05 22:32 阿不 阅读(11380) 评论(22) 推荐(0) 编辑

摘要:在上一篇《深入ASP.NET数据绑定(上)》中,我们分析了在.NET中的数据绑定语法的一些内部机理。简单说来就是ASP.NET在运行时为我们完成了页面的动态编译,并解析页面的各种服务器端代码,包括数据绑定语法。而数据绑定的语法虽是一些%# %代码块,在生成的代码中,仍然使用了服务器端控件以及在DataBinding事件调用DataBinder.Eval方法来完成数据的绑定工作。所有的数据绑定模... 阅读全文
posted @ 2008-05-04 22:15 阿不 阅读(13582) 评论(18) 推荐(1) 编辑

摘要:在ASP.NET我们在使用Repeater,DetailsView,FormView,GridView等数据绑定模板时,都会使用或这样的语法来单向或双向绑定数据。但是我们却很少去了解,在这些语法的背后,ASP.NET究竟都做了哪些事情来方便我们使用这样的语法来绑定数据。究竟解析这样的语法是在编译时,还是运行时?如果没有深入去了解,我们肯定不得而知。这个简短的系列文章就是带我们大家一起去深入探究一下ASP.NET绑定语法的内部机理,以让我们更加全面的认识和运用它。 阅读全文
posted @ 2008-05-03 23:05 阿不 阅读(35087) 评论(37) 推荐(3) 编辑

摘要:Http环境本身是一种无连接状态的架构,在这种架构下服务器只能是被动的接受客户端的请求,返回结果,而无法主动的给客户端发送数据。而在很多需要实时数据交互(比如Web IM)的场景中,我们却希望能及时得到服务器给我们返回的数据。此时,一种最为普遍的做法是:在客户端用定时器,定时去请求服务器的服务,来得到最新数据。而这样一来,很多时候却是在做无用功,频繁的请求也会无端的增加服务器和客户端在请求Web服... 阅读全文
posted @ 2008-04-10 20:11 阿不 阅读(10197) 评论(36) 推荐(0) 编辑

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

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

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

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

摘要:最近使用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 阿不 阅读(3767) 评论(31) 推荐(1) 编辑

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

摘要:今天从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 阿不 阅读(4472) 评论(13) 推荐(0) 编辑

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

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

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

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

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

摘要:最近有一本书,虽然还没有出版本,但已经引起了很多人的关注的。那就是熊大牛(请熊力老师别生气,绝对没有恶意,是尊称)的《Windows 高效排错》。提到Windows排错,我相信有很多像我这样普通的程序员想都不敢自己能去做这件事。面对那些犹如天书般的16进制表示的内存地址,二进制表示的代码,和数目繁多的数据对象。我们一看都会把它当成是乱码了,更别提去了解它了。但当我们遇到,无休止的内存溢出,程序阻塞... 阅读全文
posted @ 2007-11-23 20:54 阿不 阅读(4966) 评论(9) 推荐(0) 编辑

摘要:在Teddy的 DynamicMethodProxyFactory组件中,提供了一种调用非公有方法的机制。本质上,通过这个组件是可以实现任意的公有和非公有属性的读写操作(属性本质上可以通过它的get/set方法以方法的形式访问)。而且性能会比反射提高3 - 4数量级。但是如果我们希望访问某些非公有字段时,那我们还是无法使用DynamicMethodProxyFactory组件,还是需要使用反射。 ... 阅读全文
posted @ 2007-10-18 20:44 阿不 阅读(3105) 评论(4) 推荐(0) 编辑

摘要:它是Rails技术的核心原则,逐渐也成为了敏捷开发技术的一个重要思想。最早看到它是在一个朋友的MSN上将它作为个性化信息,想对它有更深入的了解是在自己越来越多的开发实践中遇到的各种各样的配置麻烦时,希望与它交成好朋友是在总结这些开发实践后。 约定胜于配置不仅是属于Rails,属于开源技术,它同时间属于.NET技术的开发人员。我以前就有这样的一个误区,配置文件越多,能配置的东西越多,软件的适应性就更... 阅读全文
posted @ 2007-04-14 12:35 阿不 阅读(4390) 评论(13) 推荐(0) 编辑

上一页 1 2 3 下一页