摘要: Web Application (互联网应用)系统的一个很大限制就是客户相应速度。应为要通过互联网进行通讯,所以必将受到速度的限制。正是这样所以提高互联网应用系统的速度是开发者必须面对的课题。 今天在这里只从服务器端的利用缓存机制的角度来谈谈提高 Web App 的方法,所以不会包括客户端的页面缓存技术。 首先让我们来分析一下是什么影响了 Web Application 的性能。首先从客户端发出w... 阅读全文
posted @ 2008-05-09 14:04 老大卫 阅读(1132) 评论(2) 推荐(0) 编辑
摘要: 微软下一步要推出自己的 MVC 系统(Kao,java 有什么,它就要搞什么),将不再支持传统的 PostBack ,也就是说不在支持传统的页面生成周期,也就意味着很多在 WebForms下开发的服务器控件都不能再使用了,统统报销。如果你选择了 MVC 开发模型,可能不得不放弃控件开发。其实我认为正是微软的服务器控件开发才大大推动了 .Net 平台的普及,各种版本的"TreeView和 GridV... 阅读全文
posted @ 2008-04-29 11:19 老大卫 阅读(686) 评论(1) 推荐(1) 编辑
摘要: 最近的学生考试报名项目中遇到这样一个应用场景。系统要实现考生的报名流程。根据考生的身份证进行多个业务逻辑的校验。1、身份证的合法性;2、系统中是否有该考生的信息;3、该考生是否别调整了考试日期;etc.并且这些业务逻辑有先后关系。在实际应用中遇到的问题是不同省份的报名规则不同,业务逻辑流程不同。于是在系统的配置文件中出现了校验规则的开关项,并在代码中用 if(开关项){} else {}包围住校验... 阅读全文
posted @ 2008-04-08 17:01 老大卫 阅读(579) 评论(2) 推荐(0) 编辑
摘要: 在 C#语言对设计模式的支持中, delegate 是它很大的特色。delegate 可以将功能定义与功能实现分离,有利于设计职责分离的类结构。 delegate 的本质是函数指针。delegate 可以实现一个重要的概念是 callBack。什么是 callBack 呢?可以用一个简单的例子来说明: A 可以打电话告诉 B,要求 B 回个电话给 A。并且 A 在电话中可以规定 B 何时或何种情况... 阅读全文
posted @ 2008-04-08 13:26 老大卫 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 在web项目中经常会遇到页面的功能随着页面的内容动态改变的情况。 例如在考试系统的项目中有这样一个问题,每一个测试任务有不同的状态,不同的状态对应一些不同的操作。新建的测试任务并为空的时候,记录之后要有“修改”“删除”“报名”按钮。有了报名记录之后“修改、删除”按钮将会消失,只有“报名... 阅读全文
posted @ 2008-03-31 16:25 老大卫 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 虽然设计模式在1980‘s 就被提出和应用,并在2000年后被引入国内,在开发者开始流行。但好像在我平时的学习和工作中感觉它并没有真正被大家接受并运用。只是在国外的开源软件中能见到运用模式设计的例子。在平时的项目中大家好像都是在垒代码,更多的在关注如何实现功能。而没有进一步考虑代码的设计,更好的实现功能。以降低将来功能的升级与改进时的成本。 这好像也是一对矛盾。是将成本花在现在,还是花... 阅读全文
posted @ 2008-03-26 17:02 老大卫 阅读(278) 评论(0) 推荐(0) 编辑
摘要: ASP.NET Pipeline的BeginRequest事件中截获当前的HttpWorkerRequest对象,然后直接调用其ReadEntityBody等方 法获取客户端传递过来的数据流,并加以分析和处理。在ASP.NET 1.1时期,这么做的目的是为了直接将数据写入硬盘,以避免上传内容消耗太多服务器内存,但是现在自然已经不会因为这个原因而这么做了。从客户端发起请求 到一定规模的数据传输... 阅读全文
posted @ 2008-03-19 17:19 老大卫 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 完成一个查询,返回一个DataTable后,很多时候都想在查询结果中继续搜索。这时可以使用DataTable.Select方法对结果进行再查询。 Select方法有4个重载,我们经常用到的就是DataTable.Select(String) 这个String的参数是查询的限定式。相当于SQL查询语言中的WHERE语句(不含WHERE),其语法符合SQL语言语法。 Select方法的... 阅读全文
posted @ 2008-03-12 13:05 老大卫 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: 微软Ajax control toolKit 中有 ModalPopup 控件。可以实现页面遮盖的效果。但是遮盖直接出现,十分突然。我想能不能加上渐变的效果?这样感觉会好一点,炫一点。于是又想如果弹出的对话框(Panel)也有动画效果就会更炫了。于是就有了 AnimationModalPopup 控件。 实际应用 modal 效果最多应该是 confirm 对话框情况下。但我用了整整一天的时间也无... 阅读全文
posted @ 2008-03-10 09:24 老大卫 阅读(758) 评论(1) 推荐(0) 编辑
摘要: 两个细节值得一提: 为什么调用ExecuteReader方法时要传入CommandBehavior.CloseConnection:LINQ to SQL中的DataContext对象有个特点,如果在使用时它的Connection对象被“显式”地打开了,即使调用了DataContext对象的Dispose方法也不会自动关闭。因此我们在开发程序的时候一定要注意这一点。例如,在调用Execu... 阅读全文
posted @ 2008-03-04 22:49 老大卫 阅读(308) 评论(0) 推荐(0) 编辑
摘要: DataGrid 提供了丰富的数据显示功能,但在对其进行扩展却不是十分的容易。好在它提供了很多的接口供我们扩展。OnItemCommand:对自定义按钮定义 CommandName ,可通过 CommandName 来区分实现不同的功能。<EditCommandColumn></EditCommandColumn> 内的接口OnCancelCommand OnEditCom... 阅读全文
posted @ 2008-03-04 09:14 老大卫 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 1、必须在 web.config 中定义 否则当文件大于4M 时,系统不做任何处理就自动报错。 2、当在 fileupload 控件中只输入空格时, 无法提交页面。解决办法:设置 fileupload 属性 unselectable="on"。 阅读全文
posted @ 2008-02-23 09:11 老大卫 阅读(279) 评论(1) 推荐(0) 编辑
摘要: 1、带有属性的元素要变成 Table; 2、带有子元素的元素要变成 Table; 3、重复的元素仅作为一张 Table; 4、属性为列; 5、对于嵌入在其他被推理为 Table 的元素中的元素,应在两张表之间生成一个嵌套的 Datarelation; 阅读全文
posted @ 2008-02-23 08:28 老大卫 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2008-02-19 08:52 老大卫 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 近日发现如果在 aspx 页面中定义了带有模板的控件 。则在后台的 aspx.cs 的代码里无法获得在 中定义的服务器控件。只能通过 Container.FindControl() 方法获得这些控件。 我想这和 中的生命周期有关,具体什么原因还不知道。先记录下来,等以后补充。 var clientid = ''; 阅读全文
posted @ 2008-02-02 10:41 老大卫 阅读(870) 评论(0) 推荐(0) 编辑
摘要: MyEnum = function() { /// .. } MyEnum.prototype = { One: 1, Two: 2 } MyEnum.registerEnum("MyEnum"); ---------------------------------------------- Type.registerNamespace('Custom.UI'); Custom.U... 阅读全文
posted @ 2008-02-01 09:13 老大卫 阅读(188) 评论(0) 推荐(0) 编辑
摘要: ASP.NET Ajax学习笔记二(Ajax基本框架) 二.ASP.NET Ajax架构: Ajax技术加强了很多ASP.NET本身的弱项。本章要继续讨论的Ajax基本技术是: n ASP.NET Ajax 基本框架 n ASP.NET Ajax Library n 多浏览器兼容层 n 微软Ajax库 ... 阅读全文
posted @ 2008-01-31 13:25 老大卫 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 外面大雪倾城,只有在家里复习复习以前的资料。又看到了 updatePanel 这个 microsoft 力推的 ajax 控件。现在顺便做一个总结: PageRequestManager 类实现了截获和管理页面提交的功能。它有2个属性: isInAsyncPostBack abortPostBack //只能取消异步更新。 在 micro... 阅读全文
posted @ 2008-01-27 16:17 老大卫 阅读(240) 评论(0) 推荐(0) 编辑
摘要: //在对 Dictionary 作 foreach 操作的时候,不可以作 Remove() 操作。 public Dictionary stateItem; private void resetState() { Dictionary.KeyCollection itemColl = stateItem.Keys; string[] itemList = n... 阅读全文
posted @ 2008-01-19 12:15 老大卫 阅读(186) 评论(0) 推荐(0) 编辑
摘要: compose : ◆-------- 组成关系 例如:书◆-------文章 aggregate : ◇-------- 聚合关系 例如:读者◇---- 书 阅读全文
posted @ 2008-01-19 12:05 老大卫 阅读(1567) 评论(0) 推荐(0) 编辑
摘要: 相当于原来的 align 的作用,但能力要比 align 强的多。一旦发出float:left或float:right命令,被我浮动的对像就会向左或向右移动直到遇到边框( border) 、填充( padding) 、边界( margin )或者另一个块对象的边缘为止。 经典样式: 1、图文环绕: 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内... 阅读全文
posted @ 2008-01-15 10:15 老大卫 阅读(2013) 评论(0) 推荐(0) 编辑
摘要: ----------- 1.如果客户端控件继承于 htmlControl (textbox),则要实现 IScriptControl 接口中的 GetScriptReferences 和vGetScriptDescriptors 方法。 OnPreRender() 和 Render() 方法进行声明和注册。 2.如果客户端控件继承于 Ajax 控件(updateprogree),则要实现 I... 阅读全文
posted @ 2008-01-11 09:10 老大卫 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 《解剖PetShop》系列之四 四 PetShop之ASP.NET缓存 如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用Cache存储CPU访问概率高的那些数据,当C... 阅读全文
posted @ 2007-12-17 21:09 老大卫 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 小项目的特点:领导不重视;没有完整的项目流程;没有完整的需求; 小项目往往都是比较特殊的需求,所以开发平台的选择就会比较困难。没有经验可以借鉴。 阅读全文
posted @ 2007-11-29 11:13 老大卫 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2007-11-20 00:11 老大卫 阅读(129) 评论(0) 推荐(0) 编辑
摘要: dataset _dataSource; IListSource ilistSource = _dataSource as IListSource; IList memberList = ilistSource.GetList(); //如果datasource 是dataTable此时得到一个dataview //如果datasource是dataset此时返回 if (!ili... 阅读全文
posted @ 2007-11-15 21:04 老大卫 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 一、DataTable DataTable表示内存中数据的一个表,它完全是在内存中的一个独立存在,包含了这张表的全部信息。DataTable可以是从通过连接从数据库中读取出来形成的一个表,一旦将内容读到DataTable中,此DataTable就可以跟数据源断开而独立存在;也可以是完全由程序自己通过代码来建立的一个表。 二、DataView Dat... 阅读全文
posted @ 2007-11-15 20:15 老大卫 阅读(1309) 评论(0) 推荐(0) 编辑
摘要: document的事件: 无典型事件。 document的方法: createElement() createStyleSheet() --------------------------- 一.描述body的属性 alinkColor linkColor vlinkColor bgColor fgColor 二.描述页面文档信息的属性(包括http头信息) ch... 阅读全文
posted @ 2007-11-14 22:49 老大卫 阅读(1241) 评论(0) 推荐(0) 编辑
摘要: 在2.0 中对数据集序列化和反序列化的方法进行了一下简单的封装,使其可以得到重用的效果.见下面的类DatFormatter. 通过GetBinaryFormatData方法可以转换数据集为二进制,在服务器端使用,转换数据集格式。发送,客户端接收,得到二进制格式数据,使用RetrieveDataSet方法,反序列化,得到数据集,进行客户端操作。通过这些简单的操作(序列化和反序列化,将数据压缩),可以... 阅读全文
posted @ 2007-11-12 21:03 老大卫 阅读(524) 评论(0) 推荐(0) 编辑
摘要: window函数: .confirm() .prompt() .navigate() .setInterval() .setTimeout() .clearInterval() .clearTimerout() .moveTo() .resizeTo() .open() .showModalDialog() .showModelessDialog() window事件: onload 发生在页面... 阅读全文
posted @ 2007-11-11 20:51 老大卫 阅读(5486) 评论(0) 推荐(0) 编辑
摘要: 1.js的动态函数:用 new Function()定义。 var square = new Function("x","y","var sum;sum=x*x+y*y;return sum;"); alert(square(3,2)); 2. var f = afunc();表示执行afunc()函数,并将结果return给变量f. var f = afunc;表示将函数(对象)afunc赋... 阅读全文
posted @ 2007-11-07 22:09 老大卫 阅读(341) 评论(0) 推荐(0) 编辑
摘要: //校验是否全由数字组成function isDigit(s) ...{ var patrn=/^[0-9]...{1,20}$/; if (!patrn.exec(s)) return false return true } //校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 function isRegisterUserName(s) ...{ var patrn... 阅读全文
posted @ 2007-11-06 16:47 老大卫 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一 javascript正则表达式的基本知识 1 javascript 正则对象创建 和用法 声明javascript 正则表达式 var reCat = new RegExp("cat"); 你也可以 var reCat = /cat/; //Perl 风格 (推荐) 2 学习最常用的 test exec match... 阅读全文
posted @ 2007-11-06 16:45 老大卫 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 如果要点击 GridView 的行实现回传,必须注册一个可引起回传的控件。__dopostback()函数不是自动生成的。 使用GetPostBackClientHyperlink()时, LinkButton lb = new LinkButton(); this.Controls.Add(lb); 调试时要重新加载控件。 如果要捕获自定义控件... 阅读全文
posted @ 2007-11-06 16:41 老大卫 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 一、 尽管当前Web浏览器中W3C DOM和JavaScript的实现在不断改进,但还是存在一些特异性和不兼容性,这使得应用DOM和JavaScript进行开发时很是头疼。 IE的W3C DOM和JavaScript实现最受限制。2000年初,一些统计称IE占据了整个浏览器市场95%的份额,由于没有竞争压力,Microsoft决定不完全实现各个Web标准。 这些特异问题大多都能得到解决,不过... 阅读全文
posted @ 2007-11-06 16:39 老大卫 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 1.窗体的长和宽 s += "\r\n网页可见区域宽:"+ document.body.clientWidth; s += "\r\n网页可见区域高:"+ document.body.clientHeight; s += "\r\n网页可见区域宽:"+ document.body.offsetWidth +" (包括边线和滚动... 阅读全文
posted @ 2007-11-06 16:36 老大卫 阅读(223) 评论(0) 推荐(0) 编辑
摘要: array int[] int[,] int[][] 需要实现equal(), icomparable.compareto(),才能排序和比较 arrayList List Hash SortedList:哈希和数组的混合体。插入时自动排序。 queue 队 Stack 栈 范型List List.Find(delegate ( xxx){.....xxx....}) List.Remove(d... 阅读全文
posted @ 2007-11-06 16:32 老大卫 阅读(424) 评论(0) 推荐(1) 编辑
摘要: from csdn to cnblogs .cnblogs简洁,速度快。持之以恒 积累经验 阅读全文
posted @ 2007-11-06 16:23 老大卫 阅读(134) 评论(0) 推荐(0) 编辑