随笔分类 -  项目经验

总结本人参与项目的开发经验、思路、程序框架等。
摘要:     我们谈在性能调优时可能存在有很多不同的方面可以进行性能的优化,比如:良好的的编码习惯,最大限度的发掘服务器性能,减少下载流量等。但我们今天说的异步和分流是在一个更大粒度下进行性能优化,当然异步服务框架不仅仅是用来调优性能的、凡是需要异步、离线、延时操作、处理高成本操作的场景都可以考虑使用异步服务框架。    ... 阅读全文
posted @ 2009-08-05 10:26 网际飞狐 阅读(646) 评论(1) 推荐(0)
摘要:首先,我们创建一个通用的bat让它来对某个文件进行获取、签出、复制、签出操作。 postbuild.bat[代码]这个bat文件可以用在项目的生成后事件中,这样每次编译就可以自动把生成的dll签入到tfs中;同样也可以写一个外部的bat文件使用这样的功能。 例如还有一个copy.bat任务:[代码] 阅读全文
posted @ 2009-07-08 16:07 网际飞狐 阅读(595) 评论(0) 推荐(0)
摘要:今天讲一下我所牵头的项目中用到的系统框架结构。这个框架的使用是起于权限系统的开发的,然后在数据中心中发挥出它的功效,现在包括个人空间、通知服务等项目都沿用了这种框架,这里先来一张系统框架图,然后再慢慢解说。 1、典型的三层结构,主体包含了表示层(USL)、业务逻辑层(BLL)、数据访问层(DAL)。猛然看上去好像与别的三层结构没什么不同,不过这里的不同之处是业务逻辑层和数据访问层... 阅读全文
posted @ 2008-10-07 15:19 网际飞狐 阅读(567) 评论(0) 推荐(0)
摘要:1、删除某字段中的重复记录,Table1006表中有Id和Phone字段,Id为不重复的标字段,但是Phone含有重复字段,现在需要重复Phone记录行删除掉,只保留最新一条记录。 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> if... 阅读全文
posted @ 2008-10-07 10:23 网际飞狐 阅读(374) 评论(0) 推荐(0)
摘要:最近个人空间的性能令人担忧,一天中不时会有大量的IO,或者w3wp.exe的内存占有不断增长直到应用程序池回收,这时如果应用程序池回收了就会导致大量的IO,针对这样的情况,必须先着手解决当前的性能问题。 1、分离用户头像到独立服务器中,并且取消通过程序读取和显示头像。 在以往的实现中,是通过DisplayPicture.aspx页面的Response.WriteFile(fullname... 阅读全文
posted @ 2008-09-17 09:56 网际飞狐 阅读(500) 评论(1) 推荐(0)
摘要:当前个人档案的头像面临访问量过大的问题,目前的解决方案是把上传和显示头像的功能独立出来成为一个新的站点并把此站点转放到另外一台的Web服务器上,以提高其响应能为。同时,因为原来的对头像的获取是通过aspx加载真实的头像(jpg)然后显示出来的,这样的处理方式在大访问量的情况之下对性能是有影响的,所以现在当独立到新的站点时就取消了这样的功能,把原来头像URL如:http://profile... 阅读全文
posted @ 2008-09-11 18:11 网际飞狐 阅读(535) 评论(0) 推荐(0)
摘要:使用FOR XML查询选项的PATH模式,可以用于字符串的串联聚合,并且可以很方便地组织聚合后的文本描述。 先看看下面的节选: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->with arg1 as ( select top 10 [... 阅读全文
posted @ 2008-08-19 17:00 网际飞狐 阅读(552) 评论(0) 推荐(0)
摘要:1、使用拆分SP或者函数。 拆分方法: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Create PROCEDURE [dbo].[ec_System_SplitString] @strs nvarchar(max), ... 阅读全文
posted @ 2008-08-18 11:27 网际飞狐 阅读(636) 评论(0) 推荐(0)
摘要:项目中对于未处理异常的捕获是通过使用ApplicationErrorLog组件,但无论通过组件还是Global.asax或者自定义HttpModule都是通过在管道中截获异常信息,例如: void Application_Error(object sender, EventArgs e) { Logger.log(ex.Message); Logger.log(ex.StackTr... 阅读全文
posted @ 2008-06-11 15:20 网际飞狐 阅读(480) 评论(0) 推荐(0)
摘要:先来看看代码,然后再解说一下。 class Program { static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_Unh... 阅读全文
posted @ 2008-05-27 16:49 网际飞狐 阅读(859) 评论(0) 推荐(0)
摘要:自定义类型Observer的定义如下: [Serializable] public class Observer { /**//// /// IUpdatingSender的实现 /// //[XmlAttribute(AttributeName="IUpdatingSenderImplement")] ... 阅读全文
posted @ 2008-05-14 17:05 网际飞狐 阅读(445) 评论(0) 推荐(0)
摘要:1、布署ApplicationErrorLog未处理异常处理组件。 A、引用相关组件。 B、修改Web.config ... 阅读全文
posted @ 2008-04-07 16:26 网际飞狐 阅读(545) 评论(0) 推荐(0)
摘要:最近新开发了一个内容服务,该服务用于统一管理所有需要静态化的内容,例如:最近需要把个人空间和博客统一成使用相同的模板(都换肤)、这样边栏上的小栏目需要有一个统一的访问点,并且这个访问点是需要静态化数据的,内容服务就是这样的一个访问点。内容服务的具体设计在以后的文章中会有介绍,但是现在先来解决主动更新中的一个问题。 先来看看内容服务的使用方是如何获取内容服务的数据的,调用方需要... 阅读全文
posted @ 2008-03-26 13:03 网际飞狐 阅读(587) 评论(0) 推荐(0)
摘要:1、如何设置Windows服务的依赖关系? 因为新开发的内容服务的WCF通信使用的是MSMQ接收用户内容的异步可离线信息,内容服务本身是一个windows服务,而这个服务必须使用MSMQ,所以就要求在机器启动时必须先启动MSMQ服务,然后才可以再启动内容服务,这就需要在内容服务中设定服务的依赖关系,此服务必须要在MSMQ服务启动后再启动。 修改ProjectInstaller.cs中的servic... 阅读全文
posted @ 2008-03-07 10:16 网际飞狐 阅读(1802) 评论(1) 推荐(0)
摘要:ASP.NET中设置MachineKey可以很轻松的实现SSO,可以在所有ASP.NET站点中添加如下配置: validationKey可以为视图状态、身份验证Cookie、Session等重要的信息添加杂乱信息以防止重要信息被篡改。 为了防止validationKey和decryptionKey以明文的方式进行显示,可以使用ProtectSection方法对machineKey配置节进行加密。... 阅读全文
posted @ 2008-01-28 13:45 网际飞狐 阅读(1220) 评论(0) 推荐(0)
摘要:公司使用的文件缓存经常出现大量的并发冲突,主要原因有两个:一个是读取文件时刚好文件被删除了,这样会抛出找不到文件的异常; 另一个是资源权限争抢的问题,可能会导致没有权限操作的情况。 ReaderWriterLock类实现了多用户读/单用户写的同步访问机制,可以使用此类对文件的读写进行加锁操作,因为文件缓存一般是大量读少量写的情况,所以非常适合使用ReaderWriterLock。 ... 阅读全文
posted @ 2008-01-25 13:53 网际飞狐 阅读(548) 评论(1) 推荐(0)