摘要:
大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。 大型动态应用系统又可分为几个子系统: Web前端系统
负载均衡系统
数据库集群系统
缓存系统
分布式存储系统
分布式服务器管理系统
代码分发系统 Web前端系统 为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同时使他应... 阅读全文
随笔分类 - [01].NET技术
一起谈.NET技术,浅谈C#中的延迟加载(3)——还原模型的业务规则
2011-09-02 00:10 by 狼人:-), 184 阅读, 收藏,
摘要:
上一篇文章讲到把实体类中需要实现延迟加载的属性声明为virtual,然后继承实体类做一个子类,在子类里面实现该属性,配合使用委托来实现比较完美的延迟加载(原本的模型层依旧保持在最底层用于贯穿三层结构,同时又可以实现在实体类的属性里面访问到比他高层的数据访问层)。文章的最后依旧出现杯具,原因是在对模型的属性实现延迟加载之前,这个属性可能由于我们业务的需要,它并不单单是作为一个存储和读取的功能使用,而是在其get或者set的访问器中都包含这或许复杂或许简单的逻辑代码。 举例:考虑一下这个情景,我们有一个叫做任务单的实体类,其中有两个属性,一个叫做任务名,一个叫做发布时间,现在有这样的业务... 阅读全文
一起谈.NET技术,使用VS2010的Database项目模板统一管理数据库对象
2011-09-02 00:10 by 狼人:-), 245 阅读, 收藏,
摘要:
Visual Studio 2010 有一个数据库项目模板:Visual Studio Database Project(以下简称VSDP),VS 2003/2005/2008也有类似的项目,在VS2010上的得到了很大的加强,现在还具备了智能感知,构建时验证和自动部署功能,VSDP是针对典型的数据库开发任务而设计的,可以对原有数据库反向工程,添加表,存储过程和其他数据库项目,而且有选择性地将修改部署到目标数据库中。他的主要特性有: 1、模型对比(Schema Compare) 在项目的维护和升级期间,至少需要维护产品数据库(正在正式运营的数据库)、测试数据库、开发数据库这三个... 阅读全文
一起谈.NET技术,浅谈C#中的延迟加载(1)——善用委托
2011-09-02 00:10 by 狼人:-), 215 阅读, 收藏,
摘要:
很久以前就听过延迟加载这个东西,不过没有理解是什么意思,现在算是了解一二了,写点文章作为读书笔记,把自己的想法记录一下,希望对初学者帮助,不管是初学者或者高手如果发现文章那里写得不好或者有更好的思路和做法记得告诉我哦^^。文章打算写成两三篇,这个是第一篇。 在三层结构中我们通常会使用多一个叫做模型层的东西,这一层中最主要做的事情是把数据库中的表 (或者其他数据源,例如xml或者自己定义的一种数据格式)转成对应的类,例如有一个文章表,这时候在这一层就会有一个文章类;文章类的属性对应着文章表的列,例如文章标题属性对应文章标题列。 实体类和数据表一一对应是最简单的情况,这时候实体类和实体... 阅读全文
一起谈.NET技术,Silverlight 游戏开发小技巧:动感小菜单2
2011-09-02 00:10 by 狼人:-), 181 阅读, 收藏,
摘要:
动感小菜单其实是想模仿Apple的菜单按钮设计制作,但是画虎不成反类犬,看起来有点别扭,昨天各位园友提了这方面的建议,感觉太硬如果加入动画可能更好,非常感谢各位,而今天这篇的动感小菜单2,让按钮更加动感“柔”顺:)期望能做的更好吧。 我们可以直接借助昨天的工程,在上面的基础上修改,打开昨天的工程(Silverlight 游戏开发小技巧:动感小菜单): 直接选定一个StackPanel的Group,然后按住Alt键复制一个,为了方便编程,这次我们将它制作成一个控件: 在结构里面直接选择刚才Copy的组,点击右键选择Make Into UserControl,中文版是制作成为自定义... 阅读全文
一起谈.NET技术,写出优雅简明代码的论题集 -- Csharp(C#)篇[1]
2011-09-02 00:10 by 狼人:-), 238 阅读, 收藏,
摘要:
最近和一些朋友讨论如何写出优雅的代码,我们都很喜欢C#,所以以C#为例。主要一共有三位程序员在一起讨论,为简单起见我用ABC代表我们三个人。 有时候我们会针对一些代码进行讨论,有时候我们会提出一些观点,有时候我们会一起学习网上一些现有的博客,为了便于大家引用,我给每一个论题都编上号。 在很多情况下,我们的意见统一,那么我会给大家呈现我们的结论;但是有些情况我们有分歧。 你可以加入我们的讨论,我非常也希望能够获知你的意见,让我们一起茁壮成长! 好吧,让我们今天就开始。 论题一:函数越小越好! 相信绝大部分程序员会认同这一点,维护一个超过100行的函数会让人抓狂。 ... 阅读全文
一起谈.NET技术,ASP.NET控件10个最有用的属性详解
2011-09-02 00:10 by 狼人:-), 266 阅读, 收藏,
摘要:
对于微软平台开发人员而言,每天都要和各种ASP.NET控件打交道,本文不打算介绍各种控件的具体使用方法,相反,我只想和大家分享一下ASP.NET控件最有用的10个属性,相信读完本文可提升你的开发技能。 1、ClientIDMode 渲染ASP.NET控件时会自动生成一个ID,当我们在客户端脚本中引用它们时,却会制造不少麻烦,虽然它是命名容器和ID的简单串联,但仍然无法预测生成的ID范围。 ASP.NET 4.0使用ClientIDMode属性解决了这个问题,它允许你控制生成这些ID的方法,ClientIDMode有四个可选择的值:AutoID,Static,Predictab... 阅读全文
一起谈.NET技术,你应该知道的15个Silverlight诀窍
2011-09-02 00:10 by 狼人:-), 159 阅读, 收藏,
摘要:
我热爱Silverlight,并且身体力行写了很多Silverlight程序,也讨论了很多关于Silverlight的技术。对于刚刚接触Silverlight的开发人员来说,这篇文章是最适合你的。这篇文章列出了我使用Silverlight进行开发后,发现的15条小诀窍。如果你是一个全职的Silverlight开发的话,我希望你能了解并掌握它们。
我不会谈论MVVM,Prism或者MEF这些复杂的以至于吓跑读者的东西。 1. 下图中黄色的高亮文字代表了Silverlight 对象的MIME类型,而不是运行时版本信息。许多开发人员第一次看到这段代码的时候都会认为这个地方是引用了Silverl... 阅读全文
一起谈.NET技术,URI和URL及URN的区别
2011-09-02 00:10 by 狼人:-), 292 阅读, 收藏,
摘要:
对于URL,大家都比较熟悉,其他两个词就比较陌生了。URI、URL和URN是识别、定位和命名互联网上的资源的标准途径。1989年Tim Berners-Lee发明了互联网(World Wide Web)。WWW被认为是全球互连的实际的和抽象的资源的集合–它按需求提供信息实体–通过互联网访问。实际的资源的范围从文件到人,抽象的资源包括数据库查询。 因为要通过多样的方式识别资源(人的名字可能相同,然而计算机文件只能通过唯一的路径名称组合访问),所以需要标准的识别WWW资源的途径。为了满足这种需要,Tim Berners-Lee引入了标准的识别、定位和命名的途径:URI、URL和URN。 ... 阅读全文
一起谈.NET技术,Silverlight 游戏开发小技巧:扇形排列元素
2011-09-02 00:10 by 狼人:-), 282 阅读, 收藏,
摘要:
斗地主风靡了大江南北,在春晚都做免费性推广,棋牌游戏平台几乎将其作为标配,但是牌类游戏总是一成不变的样子——横向排列,如果扇形排列应该更加符合真实,最近在WP7上玩了一个UNO游戏就是用扇形排列,感觉很不错,今天咱们照猫画虎,在Silverlight上实现一个扇形的手牌效果。 可能看到这个预览图有的朋友就会笑了,这个可以使用RenderTransform实现,前面有讲过,只需要将RenderTransformOrigin的原点设置在牌外面就行,然后旋转,这样实现倒是可以,可是算起来实在麻烦,要考虑牌数和位置,今天不是炒冷饭,而是使用PathListBox来实现,PathListBox在... 阅读全文
一起谈.NET技术,Silverlight程序集缓存巧妙设置 优化用户体验
2011-09-02 00:10 by 狼人:-), 233 阅读, 收藏,
摘要:
Silverlight中的程序集缓存可以将一些独立的程序集放在XAP包外边并可以缓存在客户端的浏览器中,这样就可以减少程序启动时下载XAP包的时间。默认情况下Silverlight并没有开启程序集缓存,因此需要自己动手开启。 右键打开项目的属性,并在通过使用应用程库缓存较小XAP大小选项打钩,如图: 在没选择此项之前编译项目看一下XAP中的DLL,如图: 重新编译项目,选择显示所有文件然后打开Bin\Debug目录,会看到每一个缓存程序集都有自己的zip文件包。比如,如果使用了System.Windows.Controls.dll,会看到一个System.Windows.C... 阅读全文
一起谈.NET技术,Silverlight 游戏开发小技巧:昼夜交替动画
2011-09-02 00:10 by 狼人:-), 261 阅读, 收藏,
摘要:
记得在WP7上玩一个游戏有段动画很有趣,是背景在进行昼夜交替,一会儿白天太阳出来白天了,一会儿月亮蹦出来夜晚了,在以前做C++程序的时候曾经实现过类似的效果,今天早上移植了一下到Silverlight当中效果还是不错,当然了,有了Blend神器,就完全不用通过代码的方式实现,真的方便了很多。 以前的效果预览: 由于条件所限定,本篇中实现的效果仅仅为一个引子,更细的细节,还需要自行制作,请注意,本篇的程序尺寸为600x400的标准。 为了方便起见,就不用Blend来画太阳和月亮了,直接使用了两张图片: 加入工程后,打开MainPage控件,添加两个Rectangle,分别来表... 阅读全文
一起谈.NET技术,VS2010测试功能之旅:编码的UI测试(2)-操作动作的录制原理(下)
2011-09-02 00:10 by 狼人:-), 175 阅读, 收藏,
摘要:
回顾 在本章上部分介绍了操作动作的录制原理,描述了操作动作是如何录制,UIMap.uitest和UIMap.Designer.cs的代码如何生成,以及他们的结构。在这个部分,将着重说明如何通过修改UIMap1.uitest文件的操作动作部分的代码来控制UIMap1.Designer.cs操作动作部分代码的生成,实现第一种方式的自定义编码。 内容简介 在上个部分,已经说明了UIMap.uitest文件的结构如下: 其中InitializeActions,ExecuteActions,CleanupActions,OnErrorAction都是对于操作动作的描述: Ini... 阅读全文
一起谈.NET技术,不错的VS2010扩展——JSEnhancements,让js和css也折叠
2011-09-02 00:10 by 狼人:-), 272 阅读, 收藏,
摘要:
在Visaul Studio 2010中写js或css代码,缺少像写C#代码时的那种折叠功能,当代码比较多时,就很不方便。 今天发现,已经有VS2010扩展支持这个功能,它就是——JSEnhancements(下载地址)。 用了一下,感觉不错,定义region,只需将#region写在注释中即可。请看下面的演示: 先看JavaScript 未使用JSEnhancements的情况: 1. 使用JSEnhancements之后(未定义region): 折起 展开 2. 使用JSEnhancements之后(定义了region): 折起 展开 ... 阅读全文
一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(一)序言
2011-09-02 00:10 by 狼人:-), 123 阅读, 收藏,
摘要:
不得不说的事,过年期间用了两个多星期时间将17173首页所推荐的2010年新测的几乎60多款网游彻底的扫荡了一遍;过瘾哪!确实过瘾,好久没玩网游了,一次让我爽个够。快的2小时就到了40级,还有更快的5小时冲到了80级。感慨啊真想长叹一声:天!现在的游戏咋被整成了这样!于是愤愤写下如此感受,仅当到此一游:国产3D网游质量恒古不变,敢问开发商你自己想吐了没?市场上充斥着更多的依旧是2D/2.5D ARPG,换汤不换药,十个开发商有九个都在估量着换个美工班即得款新网游,那招个美工连岂不得登上年度大作?照样斗得个你死我活的前扑后续。10年,经典的MMORPG模式已被改得面目全非,再也找不回当年玩《.. 阅读全文
一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(三)动态光影
2011-09-02 00:10 by 狼人:-), 184 阅读, 收藏,
摘要:
通常来说,只要谈到影子及影子制作,首先想到的不外乎3D。游戏中的影子设计大致可分为硬实现和软实现两种,比如像“游戏影子制作技术”这篇文章所谈到3D游戏影子制作方案Projective Shadow、Shadow Map以及Shadow Volume均属于硬实现。硬实现的效果最逼真,相对的运算量也较高;而对于Silverlight开发2.5D网游来说,我们通常会采用折中的软实现去表述场景中的动态光影效果。精致的光影能让玩家充分体验到空间立体感,当然也是2.5D网游所不可或缺的条件之一。 Silverlight 2.5D网游中的光影效果软实现主要采用模拟仿真方法,传统的处理方案大致有三种:... 阅读全文
一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(二)纸娃娃系统
2011-09-02 00:10 by 狼人:-), 259 阅读, 收藏,
摘要:
纸娃娃系统,或许大家听起来并不陌生。早在十几年前,当时不论是文字游戏“泥巴(Mud)”或是交友、社交网站,我们只能通过屏幕上的文字来传达与交互信息;随着技术不断进步,2D/3D图形技术高速崛起,通过在基础模型上由客户随意挑选、任意更换各种造型(素材),即可打造出真正属于“自我”独特风格的网络虚拟形象,QQ秀便是我们耳熟能详的代表,更贴近真实的如(RPG)游戏及虚拟现实中的换装/换肤系统同样亦得益于纸娃娃机制。 本节,我将向大家讲解如何最好的实现Silverlight 2.5D网络游戏中的纸娃娃系统,以最大程度控制性能损失为前提,将游戏资源占用最小化,综合效果及用户体验最优化。 以《... 阅读全文
一起谈.NET技术,RegexOptions.Compiled的含义和使用
2011-09-02 00:10 by 狼人:-), 696 阅读, 收藏,
摘要:
曾经一位同事在写程序时发现在利用正则表达式匹配文本时的效率很低。首先可以排除是正则表达式本身的问题,因为所使用的正则表达式是十分简单的,匹配的文本量也不算大。检查的时候去掉了RegexOptions.Compiled的选项之后,程序整体速度得到了很大的提升。 这是因为误解了RegexOptions.Compiled这个选项提供的功能。在正则引擎启动正则表达式之前,需要做一些准备工作,这些准备工作包括检查正则表达式是否符合格式规范,并将其转化能够实际应用的内部形式。在许多关于正则表达式的文档中,将这一过程用compile来描述。然而在.NET中,这个过程实际上是以parsing来描述的... 阅读全文
一起谈.NET技术,Silverlight 游戏开发小技巧:血条和进度条
2011-09-02 00:10 by 狼人:-), 315 阅读, 收藏,
摘要:
游戏中血条的显示非常普遍,直观的看到人物生命状态,还有看其他人的生命状态,血条并非只应用在界面当中,玩家自身和怪物的生命值显示也都会实时的出现在游戏场景当中,好的血条效果可以为游戏增光不少,这次咱们就简单的制作几个血条。 看着园子里Silverlight越来越繁荣,甚是欣慰,因为就在去年,还仍然在为Silverlight技术感到孤单,如今有了这么多并肩作战的兄弟们,除了欣慰也甚狂喜,对于Silverlight还是没有看走眼啊。 血条的做法有多种,一般来说都是做成一个独立的控件,这样方便的放在任何地方,如果深入讲起来,一般来说血条可能包含如下属性:最大值、当前值、状态等等,而我讲讲述... 阅读全文
一起谈.NET技术,.NET中的异步编程-Continuation passing style以及使用yield实现异步
2011-09-02 00:03 by 狼人:-), 286 阅读, 收藏,
摘要:
传统的异步方式将本来紧凑的代码都分成两部分,不仅仅降低了代码的可读性,还让一些基本的程序构造无法使用,所以大部分开发人员在遇到应该使用异步的地方都忍痛割爱。本来我在本篇文章中想讨论一下.NET世界中已有的几个辅助异步开发的类库,但是经过思考后觉得在这之前介绍一下一些理论知识也许对理解后面的类库以及更新的内容有所帮助。今天我们要讨论的是Continuation Passing Style,简称CPS。 CPS 首先,我们看看下面这个方法: 1: public int Add(int a, int b) 2: { 3: return a + b; ... 阅读全文
浙公网安备 33010602011771号