代码改变世界

随笔分类 -  [01].NET技术

艾伟:ASP.NET 与 AJAX的实现方式

2011-08-28 23:56 by 狼人:-), 139 阅读, 收藏, 编辑
摘要: Ajax 应该不是一项技术,是一种思想而已,跟 ASP.NET 以及其它 Web 开发语言没有什么太大关系,这里只是谈谈 ASP.NET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀框架。 Ajax 已经很流行一阵子了,现在谈 Ajax 觉得有点老土。目前所谓的 Web2.0 网站,基本上没有不使用 Ajax 的,就如使用 RSS 一样,就如同一个标签,贴上去就成了 2.0。Ajax 具体细节不谈,其目的就是让用户触发一些操作的时候,页面不会全部刷新,只刷新待更新的“部分页面”,加载数据的过程中,用 Loading 的图片来表示正在加载数据,不只是看起来挺不错,也提... 阅读全文

艾伟:Visual Studio 2008 到底有多强

2011-08-28 23:56 by 狼人:-), 187 阅读, 收藏, 编辑
摘要: 本文通过漫画的方式讲述了Visual Studio 2008的新特性。包括语言级集成查询LINQ,WCF,C#效率优化和更加强健的框架等。 插入数据需要无数个SQL语句支持,而现在,你只需要有一个强大的LinQ巴士,就直接一次性全搞定,方便快捷。 强大的中转站,帮你解决额外的问题,数据传输选择最优路径,完成工作。数据给了WCF,后续的事情就不用在费心了,让它自己去办吧~哈哈 在编辑器里滚动较大的 C# 文件的速度比原来快了一倍,键入新文本的速度是原来的1.5倍. 对C# 中庞大类型的智能感应响应时间提高了至多10倍。 增量生成C++/ CLI 项目解决方案的时间最快可以提高到... 阅读全文

艾伟:学习ASP.NET比较完整的流程

2011-08-28 23:56 by 狼人:-), 140 阅读, 收藏, 编辑
摘要: 如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去! 第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念: 对... 阅读全文

艾伟:一个让人遗忘的角落--Exception(一)

2011-08-28 23:56 by 狼人:-), 119 阅读, 收藏, 编辑
摘要: 很诱人的标题,今天不是给大家介绍,而是跟大家讨论些问题。 在做开发的这几年中,大大小小的项目也经历了很多,但无论那个项目中,都没有真正的对Exception进行完整的处理。虽然我们在学C#的时候,经常会看到此类的介绍,但我们真的学以致用了吗? 先来看看什么是Exception Exception的解释是异常,每次当我们程序调式的时候,或多或少的会遇到它(如果你的程序没有遇到过,那你是天才)。Richer在它的书中,反复的提到,Exception是对原有接口的一种违背。一开始我反复不能理解,当我真的去考虑这个问题,深入这个主题的时候,我才明白了,它就是一种违背,参数错、对象空等等... 阅读全文

艾伟:Gridview自定义排序且显示上下箭头

2011-08-28 23:56 by 狼人:-), 276 阅读, 收藏, 编辑
摘要: 实现功能:单击Gidview列名按该列升序或降序排列,且在排序列上显示向上来向下箭头示意图片 //设置Gridview的AllowSorting属性值为true,即允许排序 AllowSorting="True" OnSorting="gridview1_Sorting" OnRowCreated="gridview1_RowCreated" > //为要排序的列加上SortExpression属性,其值为绑定的字段,如: SortExpression="ID"> //添加Sorting和RowCrea 阅读全文

艾伟:一步一步学WF系列(三)

2011-08-28 23:56 by 狼人:-), 169 阅读, 收藏, 编辑
摘要: 1. 写在前面 原本计划从这篇文章开始,开始介绍活动的使用方式,但是考虑到很多在WF中,重要的类和概念都没有清晰,所以还是在本文中继续明确一下WF中重要的类的用法。 这节是纯粹的理论知识,只是为你的后续学习打下一个基础,如果您不敢兴趣,可以略过。 2. WorkflowRuntime类 WorkflowRuntime:工作流运行时。 这个类有四个作用: <1> 管理工作流运行时 <2> 启动和管理工作流实例 <3> 管理运行时服务 <4> 处理运行时事件 A . 管理工作流运行时 管理工作流运行时,涉及到两个重要的方法:StartRuntime和 阅读全文

艾伟:FCKeditor 配置、扩展

2011-08-28 23:56 by 狼人:-), 146 阅读, 收藏, 编辑
摘要: 一、自定义 FCKeditor 的 BasePath BasePath 即FCKeditor在网站中的相对路径,默认值是 /fckeditor/,最好在Web.config appSettings中对其进行配置: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><addkey="FCKeditor:BasePath"value="/FCKeditor_2.6.3/"/> 这样做有诸多优点 阅读全文

艾伟:.NET平台下Web测试工具横向比较

2011-08-28 23:56 by 狼人:-), 210 阅读, 收藏, 编辑
摘要: 在浏览器中打开页面并加以判断,无疑是测试一个Web应用程序最直接的方式。借助一款合适的自动测试工具或框架,测试人员就可以在一定程度上从繁重的手动测试工作中解放出来。Ruby平台下的Watir无疑是这方面的姣姣者,因此被大量用于Web应用程序的回归测试或验收测试。不过对于使用.NET Framework的技术团队来说,Watir不一定是最好的选择。目前社区中已经出现了几款.NET平台下的Web测试框架,测试人员现在就可以使用自己最熟悉的语言来实现同样的功能,并与自己的开发环境无缝集成。WatiN WatiN是Watir的“应对之作”,使用C#语言开发,不过能够使用任意.NET语言编写测... 阅读全文

艾伟:请不要相信

2011-08-28 23:56 by 狼人:-), 302 阅读, 收藏, 编辑
摘要: 1.不要相信Request.QueryString: 相信在asp时代,这个问题比较严重,不信,随便到网络上找几个asp的企业站,找到这种url"view.asp?id=xxx",改成"view.asp?id=xxx or 1=1",相信你会看到不一样的东西,到了.net,应该很少了,不过上次看到有人说CSDN爆过哦,简单的解决方法是在取得数据时做数据类型验证或转换。比如:int ViewID = 0;if(int.TryParse(Request.QueryString["ID"], out ViewID)){//...} 2.不要 阅读全文

艾伟:Web 2.0的后继—Web 3.0

2011-08-28 23:56 by 狼人:-), 187 阅读, 收藏, 编辑
摘要: 一、简介 当我们已经熟悉博客、播客、RSS、Wiki、P2P、SNS等这些Web 2.0概念或者名词时,人们已经开始对Web 3.0做起了规划。就如预期的一样,在web2.0大会上,web3.0的讨论成为会议的一个热点。而在web3.0中被提出的观点,则更具有深远意义。它悍足了互联网在人们生活中的地位,会以人们所需、数字化、多维化、更加开放的形式展现互联网。IT企业界也开始对Web 3.0加足了重视,比如Google对Web 3.0的精心布局,目前已经完成了从信息创作、信息组织、信息存贮、信息检索、信息发布、到信息翻译、再到信息服务、以及无线服务Google SMS 的一整条Web 3.0产. 阅读全文

艾伟:一步一步学WF系列(二)工作流与Visual Studio

2011-08-28 23:56 by 狼人:-), 191 阅读, 收藏, 编辑
摘要: 1. 工作流的开发风格 在WF中,有三种开发工作流的方式。 <1> Markup-only <2> Code-and-MarkUp <3> Code-only 在这里,我就不想再去花时间去举例子,我们长话短说。 工作流的布局方式是XAML格式,相信了解WPF和Sivlerlight的人对这点都比较清楚。其实这个和WF是一样的。这个就是所谓的Markup-only模式。 而另一个极端是Code-only。我们还是去想WPF中的例子,如果WPF不熟悉我们去想想Winform中的例子,我们想开发一个登陆的窗口,有两种方法,第一种也是我们最常用的一种,是把一些控件拖 阅读全文

艾伟:有关Web 3.0

2011-08-28 23:56 by 狼人:-), 162 阅读, 收藏, 编辑
摘要: 很难得,看到园子里有朋友开始关注Web 3.0的概念了。也许很多朋友会认为概念陈述都是虚无飘渺的东西,不如讨论技术来得实在。是的,概念脱离了实际则无异于海市蜃楼,虽然美丽却遥不可及。不过,话也回来,概念的提出或者归纳也许是推广普及的需要,也许是为了创造更大的舞台,Ajax就是一个非常成功的先例。 Web 3.0是一个新的概念,很可惜,我们很难找到权威的定义。不过,从有限的资料中,我们约莫可以猜想到Web 3.0的一些特点: 1、Web 3.0时代的网络访问速度会非常快; 2、Web 3.0时代的网站会更加开放,对外提供自己的API将会是网站的标准配置; 3、Web 3.0时代的信息关联通过语义 阅读全文

艾伟:C#3.0笔记(一)预备知识之Delegate

2011-08-28 23:56 by 狼人:-), 170 阅读, 收藏, 编辑
摘要: 在学习C#3.0之前还是先来回顾下委托、事件,因为这样能更加有助于理解C#3.0里面的一些新的特性,如Lambada表达式等。 背景 在C语言中我们可以用函数指针来创建回调函数,但是在C里面回调函数存在一些安全问题。因为它只是在内存地址中记录了下来,并没有像方法的参数类型、参数个数、返回值等其他安全信息。而在.Net FrameWork中,回调仍然是可以的,.net framework中提供了更为高级的更为安全的面向对象的delegate来实现。 定义委托 在委托中主要包含了三个重要的信息: 1.调用的方法的名称; 2.方法的参数; 3.方法的返回值。 定义... 阅读全文

艾伟:让.NET程序脱离.NET Framework框架运行

2011-08-28 23:56 by 狼人:-), 273 阅读, 收藏, 编辑
摘要: Net 框架目前逐步在普及了,仍然有很多人在寻找如何让.Net程序脱离.NET框架的方法。 现成的工具有 Xenocode 的postbuidle或者vas,还有 Salamander .NET Linker 。 另外还有 MaxToCode 作者以前做的 framework linker。 以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等。 最后还有某网友(应其要求隐去网名) 兜售的一个实现方法。 Xenocode的是使用了一个虚拟机环境,模拟框架需要的注册表信息和文件信息.Xenocode号称的生成nativa代码功能实际上就是指的这个功... 阅读全文

艾伟:打通.NET 3.5与ExtJS数据交互的任督二脉

2011-08-28 23:56 by 狼人:-), 191 阅读, 收藏, 编辑
摘要: ExtJS是一套非常好的UI框架,已经有越来越多的企业级应用程序使用上了这个框架而从中受益。然后,在众多的项目当中,以J2EE项目居多,原因是ExtJS与Java的集成化越来越强。而对于使用.NET平台的开发者来说,想要在自己的项目当中使用ExtJS却困难重重,原因在于数据通信很难达到统一。在.NET 3.5以前,.NET平台提供有限的JSON原生支持。因而很多程序员都是使用第三方的组件。例如LitJson.net组件。 在.NET 3.5中,框架提供了DataContractJsonSerializer类,可以方便地对对象进行JSON序列化跟反序列化。另外,.NET3.5提供了扩展方... 阅读全文

艾伟:正则表达式30分钟入门教程

2011-08-28 23:55 by 狼人:-), 220 阅读, 收藏, 编辑
摘要: 本文目标 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。 如何使用本教程 最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,那也是很正常的——我认为,没接触过正则表达式的人在看完这篇教程后,能把提到过的语法记住80%以上的可能性为零。这里只是让你明白基本的原理,以后你还需要多练习,多使用,才能熟练掌握正则表达式。. 阅读全文

艾伟:编写自文档化的代码

2011-08-28 23:55 by 狼人:-), 105 阅读, 收藏, 编辑
摘要: 文所以载道也。 —— 宋·周敦颐《通书·文辞》 对于我们程序员来说,我们的工作也是写作——几乎每天都要写代码;而且还要载“道”,不仅仅要满足客户的需求,还要让代码具有高度的可读性,这样其他的程序员可以更容易地对代码进行修改和扩展。 按这样的要求,我们需要为代码编写足够的文档,也就是将代码“文档化”。常见的做法有两种,外部文档和注释。 外部文档 外部文档指的是在代码文件之外编写的附加文档,比如在Word文档中采用大量的篇幅(如UML图、表格)来设计或记录相关的包、类型、类型成员、成员参数之类的信息。这看起来很规范,但如果你用过这种方式,一定会讨厌它。这种方式的主要问题在于: 阅读全文

艾伟:一次挂死(hang)的处理过程及经验

2011-08-28 23:55 by 狼人:-), 295 阅读, 收藏, 编辑
摘要: 前言: CPU占用率低,内存还有许多空余,但网站无法响应,这就是网站挂死,通常也叫做hang。这种情况对于我这样既是CEO,又是CTO,还兼职扫地洗碗的个人站长来说根本就是家常便饭。以下是一次处理hang的经验及总结,前后用了一个月,不仅涉及程序排查,数据库优化,还有硬件升级的苦恼。其中辛酸苦辣只有经历过的站长才能体会,希望此文能对各位有所帮助! 首先介绍一下网站基本情况,是一个在线小说阅读网站,每天有一定页面访问量,在优化开始前由两台服务器运行,均为Dell PowerEdge 2950,配置为一台Intel xeon E5410 2.33G*2 ,4GB ECC内存,另一台Intel xe 阅读全文

艾伟:Regex.Replace 方法的性能!

2011-08-28 23:55 by 狼人:-), 361 阅读, 收藏, 编辑
摘要: 园子里有很多关于去除Html标签的文章。一个常用的经验是使用 Regex.Replace 方法利用正则去替换。这里有一篇使用该方法的文章C#中如何去除HTML标记。下面我贴出该方法的代码,见代码清单1-1 代码清单1-1引用http://www.cnblogs.com/zoupeiyang/archive/2009/06/22/1508039.html /// ///去除HTML标记 /// ///包括HTML的源码 ///已经去除后的文字 publicstaticstringReplaceHtmlTag(stringHtmlstring) { //删除脚本 Htmlstring=Htm... 阅读全文

艾伟:C# Design Patterns (1) - Factory Method

2011-08-28 23:55 by 狼人:-), 141 阅读, 收藏, 编辑
摘要: Simple Factory Pattern (简单工厂模式) 特性: 把类的实例化工作,集中到一个「工厂类」去处理,亦即将 new instance 的工作,都交给一个「工厂」去处理,而不要分散写在各个类中。 客户端程序,与创建实例 (对象) 的工作必须隔离,亦即「解耦」,客户端程序只要专注于自己的业务逻辑。适用于客户端程序在开发过程中,尚无法预知要创建的具体类型。 产品具体的实现能和客户端隔离,便于事后抽换。 Simple Factory Pattern (简单工厂模式)、Factory Method Pattern (工厂方法模式),在实作的代码中,有时很难明确去界定此二者。Simp.. 阅读全文