代码改变世界

随笔分类 -  [03]项目管理

一起谈.NET技术,.Net下的分布式缓存(3)--如果我们没有缓存会怎么样

2011-08-29 19:26 by 狼人:-), 156 阅读, 收藏, 编辑
摘要: 上回说到了Memcached的性能问题,的确,缓存不是万能的,但没有缓存是万万不能的?还真有这么干的. PlentyofFish就是这样做的, 它也是互联网上巨头中为数不多的采用WISC(Windows + IIS + Sql server + C#)架构的网站, MS不能老拿MySpace说事, 现在当然不会放过这个机会大肆宣传, 但是讽刺的是人家根本不用那些“看起来很美”的服务器控件,与其说是使用了.Net技术不如说是借用了这个平台而已. 他们的页面输出绝大多数都是使用构造字符串要不就是Response.Write出来的,简单即是美,他们在写程序的时候即是严格遵守这个规则,反过来... 阅读全文

一起谈.NET技术,.Net下的分布式缓存--从Discuz!NT的缓存设计谈起

2011-08-29 19:26 by 狼人:-), 243 阅读, 收藏, 编辑
摘要: 最近拜读了代振军同学写的关于Discuz!NT的缓存设计的一篇文章《Discuz!NT 缓存设计简析 [原创]》,颇有些想法,姑且写在这里让大家拍砖吧。 缓存真是个好东西,在大型的系统中可以有效地提升系统的速度,此乃废话就不多说了,在.Net平台下面我把缓存从功用大致分为两类,数据对象缓存和页面输出缓存. 对于数据缓存来讲是由System.Web.Caching.Cache这个类来实现,可以从上下文对象Context.Cache 来获取这个对象的引用.而页面/控件输出缓存则是由.Net环境在运行时依据头部的缓存申明来控制缓存策略. 本文主要论证与数据缓存相关的一些应用与问题. ... 阅读全文

一起谈.NET技术,.Net下的分布式缓存(2)--实现分布式缓存同步的手段

2011-08-29 19:26 by 狼人:-), 211 阅读, 收藏, 编辑
摘要: 前不久,俺写了篇文章谈到了.Net下面的分布式缓存的一些问题,并结合DNT里面实现模式发表了一些自己的看法,近来通过学习相关的东西又有了一些新的体会, 写在这里作为分布式缓存列系文章的第二部分. 其实对于性的扩展无非是Scale Up(向上扩展)或者是Scale Out(向外扩展), 微软对此的看法是一个App的缓存最好是以它自己为物理边界进行读写,而不要放到别处去,这样带的问题可能有对象的序列化传送,反序列化,网络连接开销,跨进程的开销,对于高性能的站点来说都是不能忽视的问题.出于对这些因素的考虑微推荐的作法不是把多个应用放在一起在多台Server布署,而是将一个App划分成若干... 阅读全文

一起谈.NET技术,Discuz!NT 缓存设计简析 [原创]

2011-08-29 19:26 by 狼人:-), 221 阅读, 收藏, 编辑
摘要: 作为一个社区类型软件,大并发支持和高效稳定运行永远是“硬道理”,而有效安全的使用缓存恰恰能起到事倍功半的效果。而.NET本身所提供的缓存机制又显得过于“单薄”,比如说订制不太灵活方便, 缓存对象之间层次感不强, 使用时缺乏统一的管理等等。 Discuz!NT缓存产生背景: 在去年五月份我加入Discuz!NT项目组时,发现这个项目当时还未使用缓存机制。主要原因是项目还处于起步阶段,很多东西还只是有想法,但未付诸实施,或还没找到合适的方案, 而缓存就是其中一个到底该不该使用,如果使用的该到底能多大程度缓解数据库压力以及开发成本的东西。 我当时正好有一个比较好的“原型”(从一本书上看到的... 阅读全文

一起谈.NET技术,.NET缓存机制探讨与比对

2011-08-29 19:26 by 狼人:-), 244 阅读, 收藏, 编辑
摘要: 相信大多数开发人员都比较了解缓存了,很多开发人员都在软件开发中使用了预定义或自定义的缓存,并从中获得了预期的应用程序的性能提升.这篇和后续文章将详细的介绍与探讨.net体系下的缓存实现的机制,并讨论它的优点与缺点. .NET缓存机制:使用缓存的实际价值 在kevinhoffman,lonnykruger的书中写到:开发人员经常需要将数据(临时数据)临时存放到一个存储媒体以便快速访问.这种临时数据的存储器叫做缓存.如果开发人员合理使用缓存,则可以大幅度提高应用程序的性能. 上面是一段完美的关于缓存的定义,就目前而言,迅速而便捷的将数据提供给核心处理代码已成为一个重要的设计要求。,迅速是为... 阅读全文

一起谈.NET技术,使用User Control做HTML生成

2011-08-29 19:26 by 狼人:-), 174 阅读, 收藏, 编辑
摘要: User Control大家肯定不会陌生,在使用ASP.NET的过程中,除了aspx页面,最常见的就莫过于ascx了。ascx是一个有独立逻辑的组件,提供了强大的复用特性,合理使用,能够大大提高开发效率。通过User Control直接生成HTML内容其实已经是一个比较常用的技巧了(尤其在AJAX时代),不过网络上这方面的内容比较少,很多人还是在苦苦地拼接字符串,因此在这里我通过一个实例简单介绍一下这个技巧。 对一个对象(文章,图片,音乐,etc.)进行评论是应用中最常见的功能之一。首先,我们定义一个Comment类,以及其中会用到的“获取”方法: public partial cla... 阅读全文

一起谈.NET技术,NHibernate3.0剖析:Query篇之NHibernate.Linq标准查询

2011-08-29 19:26 by 狼人:-), 174 阅读, 收藏, 编辑
摘要: 系列引入 NHibernate3.0剖析系列分别从Configuration篇、Mapping篇、Query篇、Session策略篇、应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种应用程序的集成,基于NHibernte3.0版本。如果你还不熟悉NHibernate,可以快速阅读NHibernate之旅系列文章导航系列入门,如果你已经在用NHibernate了,那么请跟上NHibernate3.0剖析系列吧。 NHibernate专题:http://kb.cnblogs.com/zt/nhibernate/ NHibernate官方站点:http://nhforge... 阅读全文

一起谈.NET技术,ASP.NET缓存初探 使用得当是关键

2011-08-29 19:26 by 狼人:-), 173 阅读, 收藏, 编辑
摘要: 缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一,对于程序员来讲,了解ASP.NET缓存的工作原理对于其设计程序是非常有用的。 ASP.NET需要被缓存的对象多种多样,包括从数据库中提取出来的数据,以及aspx页面生成的静态页,甚至是编译好的程序集。合理利用缓存能让ASP.NET的性能大幅提升,下面将对ASP.NET中的缓存机制进行简单概述。 缓存的分类 在ASP.NET中,大部分缓存机制是保存在cache对象中,也就是服务器内存的一部分。当用户请求数据时,如果数据已经被缓存,则用户所提取的数据直接从服务端返回,而不是从数据库等底层数据库提取。这对性能的提升不... 阅读全文

一起谈.NET技术,VB.NET和C#的发展与动态语言运行时

2011-08-29 19:26 by 狼人:-), 274 阅读, 收藏, 编辑
摘要: 在去年微软的专业开发者大会上(Professional Developers Conference PDC 2008),微软就开发者在.NET平台上的未来做了详细的展望,本文我们将概括地来看一下即将到来的.NET 4.0 Framework的一些特性,以及全新的Microsoft 系编程语言,讨论下微软对于.NET Platform在接下来几年的长远展望。 VB.NET和C#的联合发展 当前来自软件的最首要的信息之一是针对Microsoft Visual Basic .NET开发者的。VB.NET和Microsoft Visual C#都是构建在通用语言运行时(Common Langu... 阅读全文

一起谈.NET技术,解析ASP.NET应用程序中上传文件的方案

2011-08-29 19:26 by 狼人:-), 212 阅读, 收藏, 编辑
摘要: 在Web程序中上传文件是很常见的需求。利用HTTP协议上传文件的方式非常有限,最常见的莫过于使用<input type="file" />元素进行上传。这种上传方式会将内容使用multipart/form-data方案进行编码,并将内容POST到服务器端。使用multipart/form-data编码方式与默认的application/x-url-encoded编码方式相比,在大数据量情况下效率要高很多。 使用<input type="file" />上传文件最大的优势在于编程方便,几乎各种服务器端技术都对这种上传方式做了良好的封 阅读全文

一起谈.NET技术,为什么我支持托管运行时(虚拟机)

2011-08-29 19:26 by 狼人:-), 175 阅读, 收藏, 编辑
摘要: 最近博客园上在炒关于C#性能的问题,其实应该说是.NET性能的问题,其中某位仁兄提出,他希望C#能够直接编译为原生代码,而不是在CLR这样一个托管运行时上执行,因为虚拟机啊,JIT什么的性能差。后来发到TL上以后,也有朋友认为,“基于虚拟机的语言都是大公司为了利益在推动,说白了就是政治”,因此“对C#提高性能的建议感到可笑,因为它本来就不是用来开发高性能程序的”,再有,“C、C++已经明确不和这些后进争所谓的‘容易开发’的头衔”,那么其他语言为什么要和C++它们比较性能呢?我是托管运行时,或者虚拟机的忠实拥护者,这里谈一下我在这方面的看法。 我并不反对编译为原生代码的语言,尤其是C语言... 阅读全文

一起谈.NET技术,浅析ASP.NET清空缓存时遇到的问题

2011-08-29 19:26 by 狼人:-), 226 阅读, 收藏, 编辑
摘要: 相关文章:ASP.NET 缓存全解析 在网站中要做一个清理缓存的功能(也就是在缓存为到期之前就强制缓存过期),程序中有的地方使用的HttpRuntime.Cache来做的缓存,而和数据库交互部分则使用ObjectDataSource提供的缓存机制。清理HttpRuntime.Cache的缓存很简单,只要下面的代码就可以了。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->List<string> keys = new List&l 阅读全文

一起谈.NET技术,WPF Ribbon 开发资料分享

2011-08-29 19:26 by 狼人:-), 413 阅读, 收藏, 编辑
摘要: Ribbon 开发工具 WPF Ribbon New 目前微软发布的最新Ribbon 开发工具,上一篇已经做过介绍这里就不再多说了。支持WPF 3.5 SP1、WPF 4,全面兼容VS2010 和Blend4。 下载 Fluent Ribbon Control Suite CodePlex 开源项目,提供了一组Office 2010 工具栏样式的控件库(DLL)。支持.NET 3.5、.NET 4 RTM 下载 WPF Ribbon Control WPF Ribbon 的前身,使用控件库(DLL)前需要Office UI 授权(可参考这里),工具栏样式与Office 2007 相同... 阅读全文

一起谈.NET技术,ASP.NET MVC2.0在Tab页中实现异步无刷新分页

2011-08-29 19:26 by 狼人:-), 323 阅读, 收藏, 编辑
摘要: 概述 很多地方都存在以Tab页来呈现数据的方式,比如网易、新浪、搜狐、QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据。大家之所以喜欢用Tab,因为它能大大的增加显示数据的空间,能在固定的空间中显示更多的数据。分页也是为了方便数据的显示,在应用系统中必不可少。这篇文章使用Jquery在ASP.NET MVC中使用Tab页,以及在Tab页中实现异步无刷新的分页功能。估计这个大家都会用得到的。 在ASP.NET MVC中实现分页,在之前的一篇博文:ASP.NET MVC2右键菜单和简单分页中已经实现了。实现的方式很简单,在table下面加上一段<a/>& 阅读全文

一起谈.NET技术,.NET平台上的Model-View-Presenter模式实践

2011-08-29 19:26 by 狼人:-), 210 阅读, 收藏, 编辑
摘要: 为什么要写这篇文章 笔者当前正在负责研究所中一个项目,这个项目基于.NET平台,初步拟采用C/S部署体系,所以选择了Windows Forms作为其UI。经过几此迭代,我们发现了一个问题:虽然业务逻辑已经封装到Services层中,但诸多的UI逻辑仍然弥漫在各个事件Listener中,使得UI显得臃肿不堪,并且存在诸多重复性代码。另外,需求提供方说,根据实际需要,不排除将部署结构改为B/S的可能性,甚至可能会要求此系统同时支持C/S和B/S两种部署方式。那么,如果保持目前将UI逻辑编码到Windows Forms中的方式,到时这些UI逻辑将无法复用,修改部署方式的代价很大。 为了解决以... 阅读全文

一起谈.NET技术,Silverlight中使用递归构造关系图

2011-08-29 19:26 by 狼人:-), 196 阅读, 收藏, 编辑
摘要: 这两天遇到一个问题,项目中需要在silverlight中使用连接图的方式来显示任务之间的关系,总体有父子和平行两种,昨天在改同事的代码,一直出问题,索性晚上写了一下实现方法。 需求 有一个List对象中存了若干个Task,这些Task对象通过ParentID属性进行关联,现在要求将这个List中的任务使用图的方式形成如父子关系和平行关系的图示例如下图: 实现方法思考 刚开始接到这个任务我就想着递归应该可以搞定了,但是仔细考虑才发现每个任务的子任务需要在一定区域内才行,需要计算子级和子级之间的距离,如果使用递归,例如上图的元素“12”的位置就没有办法很好确定了。 我决... 阅读全文

一起谈.NET技术,ASP.NET Routing对请求的处理方式

2011-08-29 19:26 by 狼人:-), 205 阅读, 收藏, 编辑
摘要: 原本这是《关于ASP.NET Routing的几点内容》一文中的一节,不过等写完这节之后发现这块内容已经比较完整了,而且它本身也是独立和最为常见的部分,因此我把它提取出来单独成文。至于那片文章的其他部分我会再修改一下,明天发布。希望这些内容会对您理解ASP.NET Routing工作方式,以及阅读ASP.NET Routing的代码有所帮助。 首先,如果您需要在项目中使用在ASP.NET Routing的功能,则需要在web.config文件中配置一个HttpModule: Code highlighting produced by Actipro CodeHighlighter (... 阅读全文

一起谈.NET技术,两分钟彻底让你明白Android Activity生命周期(图文)!

2011-08-29 19:26 by 狼人:-), 174 阅读, 收藏, 编辑
摘要: 大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助,但是还不能完全吃透,所以我今天特意在重新总结一下. 首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的): Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码: view plaincopy to clipboardprint?public clas... 阅读全文

一起谈.NET技术,浅谈.Net中容易混淆的委托和接口

2011-08-29 19:26 by 狼人:-), 228 阅读, 收藏, 编辑
摘要: 本文适合对委托和接口概念非常了解的朋友,并且欢迎各位朋友与Snake一起探讨有关这方面的知识.本文不适合对委托和接口概念或用途了解一知半解(模糊)的朋友,这篇文章可能会对您产生误导,请千万别看. 在文章正式开始之前我需要将MSDN上对委托和接口的内容放上来,作为文章之基. 委托: 委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。 委托用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法. ... 阅读全文

一起谈.NET技术,ASP.NET MVC2实现分页和右键菜单

2011-08-29 19:26 by 狼人:-), 274 阅读, 收藏, 编辑
摘要: 右键菜单非常方便,很多时候会用到。这篇文章将使用一个JQUERY的插件在asp.net mvc中实现右键菜单。本文还将介绍一下在asp.net mvc中如何实现简单的分页。效果如下图: 首先,下载此插件。 新建一个asp.net mvc应用程序。将此插件放入Scripts文件夹。并在页面上引用。 这个demo使用到NORTHWND数据库的Product表。 定义右键菜单: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><d... 阅读全文
上一页 1 2 3 4 5 6 7 ··· 10 下一页