摘要: 其实,在clr执行程序的过程中,涉及到的内存使用主要有三类,除了我们常说的托管堆,每个线程都有自己专属的两个栈:计算栈(Evaluation Stack)和调用栈(Call Stack)。这两个栈都经常被提到,又都专属于clr线程,所以有的时候会混,其实它们的功能是完全不同的。 阅读全文
posted @ 2007-07-10 19:53 EagleFish(邢瑜琨) 阅读(1191) 评论(7) 推荐(1) 编辑
摘要: 正如随笔开头所说的那样,数据层会在两种运行环境中被用到,一种我们姑且称之为同步Web环境,这种环境的特点有3:(1)程序的运行是由客户端对服务器端页面的请求直接引发的;(2)当前线程位于w3wp工作进程管理的线程池中 阅读全文
posted @ 2007-07-06 14:40 EagleFish(邢瑜琨) 阅读(1329) 评论(5) 推荐(0) 编辑
摘要: 这个疑问是我在进行以往一段代码的重构时碰到的。通过这次重构,代码对非法数据的兼容性和安全性提高了,但在编写的时候似乎更容易出错,而且这些错误是编译器无法帮助发现的。大家对比下面的代码段1和代码段2,代码段1是重构前的,代码段2是重构后的: ///代码段1,重构前public static void Add(int uVenderID, int dupUVenderID){ string cmd... 阅读全文
posted @ 2007-07-05 10:43 EagleFish(邢瑜琨) 阅读(430) 评论(4) 推荐(0) 编辑
摘要: 以前上学的时候,听到“一个学生在毕业后刚刚开始编程的头几年中,写出的代码多半是垃圾”这样的说法,均不屑一顾。现在工作一年多了,越发感觉自己代码中疏漏处甚多,故近来常做亡羊补牢的重构之举。拿自己4个月前写的数据访问层来说,这个层位于整个系统的最底端,根据传入的sql语句进行查询和更新操作。就拿查询来说吧,我当时觉得很简单,写出来的方法是这样的: 1//代码段1 2public DataTabl... 阅读全文
posted @ 2007-07-03 20:43 EagleFish(邢瑜琨) 阅读(705) 评论(2) 推荐(0) 编辑
摘要: 在《Inside Microsoft IL Assembler》一书的开始部分,给出了一段典型的IL代码。代码的功能很简单,从终端接受一个输入,判断这个输入是奇数还是偶数,并在屏幕上返回结果: 1//----------- Program header 2.assembly extern mscorlib { } 3.assembly OddOrEven { } 4.module Odd... 阅读全文
posted @ 2007-07-01 19:35 EagleFish(邢瑜琨) 阅读(2174) 评论(3) 推荐(1) 编辑
摘要: 问题描述:将以下文本保存为一个excel文件,中文显示有问题,但如果去掉标记为红色的部分,一切显示正常: 分类名分类编码 按供应商属性分 03 长期供应商 0301 备选供应商 0302 黑名单供应商 0303 newNode 0304 newNode 0305 newNode 04 newNode 06 孙雷 0... 阅读全文
posted @ 2007-06-26 16:18 EagleFish(邢瑜琨) 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 首先要承认,这个随笔的名字起得有点儿别扭。 自从自己开发GEA52以来,就一直思考有关程序运行效率的问题。按照自己以往的思路,程序运行得慢了,可能的情形有很多,性能瓶颈可能出现在Web服务器的内存上,Web服务器的cpu上,Web服务器与DB服务器之间的IO开销上,总而言之不经过一番仔细的分析和艰苦的调试是很难解决性能问题的。甚至当有的时候有些操作确实很耗系统资源的时候,你不得不手工限制这种... 阅读全文
posted @ 2007-06-14 10:50 EagleFish(邢瑜琨) 阅读(547) 评论(3) 推荐(0) 编辑
摘要: 1.iisapp (文件地址:C:\Windows\system32\iisapp.vbs)用来查看应用程序池及相关工作进程的信息,并可用来进行应用程序池的回收。2.xsd是VisualStudio自带的小工具,用来处理xm架构信息。可根据架构生成读写类。3.InstallUtil是.net框架带的一个安装工具,用来执行每个给定程序集中的安装程序。第一次用到它是安装一个windows服务。4. d... 阅读全文
posted @ 2007-06-13 11:28 EagleFish(邢瑜琨) 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 我的程序中的某一个功能需要大量结构化的数据,这批数据是根据数据库和配置文件中的信息组合生成的。数据库中的那部分数据非常稳定,很少会变动;配置文件偶尔会修改。换句话说,这批数据的生成很费时间,但一旦生成基本上就不需要改动(除非我修改配置文件,那种情形下我会重起站点)。所以我把这个数据用一个静态变量来表示,它的初始化过程封装在一个Reader类的静态构造器里,然后通过一些静态方法来访问这个静态变量... 阅读全文
posted @ 2007-06-07 13:51 EagleFish(邢瑜琨) 阅读(1464) 评论(11) 推荐(0) 编辑
摘要: 在我的一个asp.net站点中,提供了A,B两个功能,这两个功能都是比较耗Web服务器资源(主要是cpu)的,并且需要半分钟到一分钟才能完成功能。如果有一个用户正在使用A,B功能之一,w3wp的cpu占用率大概在50%左右;如果有两个或两个以上用户同时使用A,B两个功能之一,Web服务器就会变得不堪重负,cpu占用率将近100%,网站几乎无法对其他的请求进行任何响应,基本上所有页面都会报超时错... 阅读全文
posted @ 2007-05-08 15:18 EagleFish(邢瑜琨) 阅读(694) 评论(2) 推荐(0) 编辑
摘要: .Net 面试应知应会(转贴) What Great .NET Developers Ought To Know (More .NET Interview Questions) A while back, I posted a list of ASP.NET Interview Questions. Conventional wisdom was split, with about half ... 阅读全文
posted @ 2007-05-08 10:47 EagleFish(邢瑜琨) 阅读(1054) 评论(1) 推荐(0) 编辑
摘要: 问题描述:我们要导入的excel数据文件中有一列叫做“中标价格”的,这个列里的数据有那种仅包含数字的,也有只有中文的,也有中文和数字混合的, 600 1882 1124 ... 阅读全文
posted @ 2007-04-30 16:00 EagleFish(邢瑜琨) 阅读(3776) 评论(2) 推荐(0) 编辑
摘要: System.Transactions.IsolationLevel定义了一个对于事务隔离级别的枚举。MSDN里面的解释过于简单,这里粘贴一段从1werwerfer 的博客里拷来的解释,说得应该是非常清楚:1.ReadUncommitted – This is, essentially, no isolation. Anyone can read the data placed in a tabl... 阅读全文
posted @ 2007-04-20 11:21 EagleFish(邢瑜琨) 阅读(5482) 评论(2) 推荐(0) 编辑
摘要: 游标因效率低下而为人所诟病,但当我们做很多“一次性”的工作的时候,游标还是很方便地,嘿嘿。刚刚用游标解决了一个实际的问题,记录在下,以后备查,也给想用游标的同志提供一个小例子(注释都删掉了哦,大家关注里面的语法就行了): 1DECLARE product_cursor CURSOR FOR 2SELECT 3 VendeeClassID, UserID, VendeeClassCo... 阅读全文
posted @ 2007-04-19 16:38 EagleFish(邢瑜琨) 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 今天从网上下了petshop4.0,想看看里面的代码,没想到安装数据库的时候就碰到了一些有意思的麻烦,遂将收获记录在下:(1)建库脚本(以及删除库的脚本)里大量使用了osql和aspnet_regsql这两个命令,这两个命令都有一个-S参数,用来指定服务器的名字,如果没写的话默认值应该是localhost。你需要根据自己所要安装的数据库服务器的名字,加以修改。 (2)如果机器上安装了VS2005,... 阅读全文
posted @ 2007-04-18 15:33 EagleFish(邢瑜琨) 阅读(692) 评论(0) 推荐(0) 编辑
摘要: PowerDesginer是大家常用的数据库建模工具,不知道大家是如何使用这个工具的,但我们组一直的用法都是CDM->PDM->Real DB的方式。但真正的开发没有真正瀑布式的,基本上都有反复迭代的过程,所以当开发期我们更改了数据库的结构之后,可能会很希望把这种改动反向同步到设计模型PDM以及CDM中去。注意,出于下面两点考虑:(1)PowerDesginer设计出的模型文件也都处于源代码管理器... 阅读全文
posted @ 2007-04-15 16:45 EagleFish(邢瑜琨) 阅读(1222) 评论(0) 推荐(0) 编辑
摘要: .net2.0开始,对事务有了直接的支持,我们不再需要COM+事务来进行事务管理,TransactionScope成了我经常使用的类。通常说来,我对事务的提交、回滚都是很清楚的,但今天调试的时候,却出了一点意外。我向程序里面新添了一个方法A,A被一个事务中的方法所调用,也就是说,A的执行是事务的一个步骤(它有很多的前置步骤)。A的里面有一个很简单的查询,返回一个我需要的ID。我对自己的数据很熟... 阅读全文
posted @ 2007-04-15 11:23 EagleFish(邢瑜琨) 阅读(379) 评论(0) 推荐(0) 编辑