摘要:XmlTextWriter类可以把XML写入一个流、文件或TextWriter对象中。简单例子:private void button2_Click(object sender, System.EventArgs e){string filename = "booknew.xml";XmlTextWriter tw = new XmlTextWriter(filename,null);tw.Formatting = Formatting.Indented;tw.WriteStartDocument();tw.WriteStartElement("book"
阅读全文
03 2011 档案
摘要:原本想基于XmlDocument自己写一个Xml编写器,但却发觉状态维护实在麻烦。在阅读《Applied Xml Programming for Microsoft .Net》时,意外发现XmlTextWriter的优越性,于是决定直接使用它进行开发。 XmlWriter与XmlTextWriter的区别 一开始我认为既然XmlTextWriter可以用,那XmlWriter也一定可以用,当我写完下面的语句时,编译器报错。 XmlWriterdoc=newXmlWriter(); 原因很简单,XmlWriter是抽象类,自然不能直接实例化。看了书后才知道XmlTextWriter...
阅读全文
摘要:如果你曾经使用过XSLT,当你需要对XML文档中的字符串或数字进行排序时,你可能会习惯于使用xsl:sort元素,在进行xsl:for- each进行循环或用xsl:apply-templates调用模板时,这个元素的功能很方便,而且简单。然而,在某些情况下,你只是想简单对XML文 档进行简单的排序和显示数据,那么xsl:sort就会大大降低计算机性能,下面就解释一下,如何在不使用xsl:sort元素的情况下,实现对XML数 据进行排序。 在.NET平台下,要完成这样的工作非常轻松,我们只需使用System.Xml.XPath名字空间里的几个类即可,如 XPathNavigator和XPath
阅读全文
摘要:标签:序列化和反序列化本文介绍使用使用WriteXml,ReadXml对DataTable序列化反序列化,同时处理"DataTable 不支持来自 XML 的架构推断。"错误. 由于DataTable本身就实现了ISerializable, IXmlSerializable接口.所以本身就支持序列化反序列化. DataTable是个很好的数据类型 1.数据库中的表完全对应. 2.Repleater,DataGrid等控件都支持对它的绑定. 3.在代码中循环遍历特别方便. 但为了网络传输,或者离线保存,就需要序列化反序列化为xml.WriteXml,ReadXml就是实现次目
阅读全文
摘要:引用 e路共赢 的 Asp.net下实现隐藏真实下载地址(可以实现简单的防盗链)现 在随着FlashGet和xunlei等下载工具的日益普及,下载网站的一些下载地址都能直接被捕获到,,但是有些时候为了防盗链或权限限制不想对地址进 行暴露,对于Asp.net下的防盗链有很多方法,我这里写了一种(51aspx的新版本将会采纳)希望大家讨论一下: stringfilename="Test.rar";if(filename!=""){stringpath=Server.MapPath(filename);System.IO.FileInfofile=newSys
阅读全文
摘要:URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。 比如浏览器发来请求hostname/101.aspx ,服务器自动将这个请求中定向为http://hostname/list.aspx?id=101。url重写的优点在于: 缩短url,隐藏实际路径提高安全性 易于用户记忆和键入。 易于被搜索引擎收录二 实现url重写的基本方法 下载MS的URLRewriter.dll,放到你的web程序的bin下下载地址1:http://www.rickel.cn/uploads/DevTools/MSDNURLRewriting.msi下载地址2:download.micros
阅读全文
摘要:《解剖PetShop》系列之六六 PetShop之表示层设计 表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如 果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了客户的需求,却仍 然难以讨得客户的欢心。俗语云:“佛要金装,人要衣装”,特别是对于Web应用程序而言,Web网页就好比人的衣装,代表着整个系统的身份与脸面,是招徕 “顾客”的最大卖点。 “献丑不如藏拙”,作
阅读全文
摘要:《解剖PetShop》系列之五 五 PetShop之业务逻辑层设计业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统 所应对的领域(Domain)逻辑有关,很多时候,我们也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细
阅读全文
摘要:《解剖PetShop》系列之四 四 PetShop之ASP.NET缓存 如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存 储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用 Cache存储CPU访问概率高的那些数据,当CPU需要访问这些数据时,可以直接从Cache中读取,而不必访问存取速度相对较慢的内存,从而提高了 CPU的工作效率。软件设计借鉴了硬件设计中引入缓存的机制以改善整个系统的性能,尤其是对于一个数据库驱
阅读全文
摘要:《解剖PetShop》系列之三三、PetShop数据访问层之消息处理在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量、数据流量、服务器负荷的问题。解决性能的瓶颈,除了对硬件系统进行升级外,软件设计的合理性尤为重要。在 前面我曾提到,分层式结构设计可能会在一定程度上影响数据访问的性能,然而与它给设计人员带来的好处相比,几乎可以忽略。要提供整个系统的性能,还可以从 数据库的优化着手,例如连接池的使用、建立索引、优化查询策略等等,例如在PetShop中就利用了数据库的Cache,对于数据量较大的订单数据,则
阅读全文
摘要:《解剖PetShop》系列之二 二、PetShop数据访问层之数据库访问设计在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开 始,我将依次对各层进行代码级的分析,以求获得更加细致而深入的理解。在PetShop 4.0中,由于引入了ASP.Net 2.0的一些新特色,所以数据层的内容也更加的广泛和复杂,包括:数据库访问、Messaging、MemberShip、Profile四部分。在系列 二中,我将介绍有关数据库访问的设计。 在PetShop中,系统需要处理的数据库对象分为两类:一是数据实体,对应数据库中相应的数据表。它们没有行为,仅用于表现对象的数据。这些
阅读全文
摘要:《解剖PetShop》系列之一 前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的 PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着 版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码都比较简单,却 也凸现了许多颇有价值的设计与开发理念。本系列试图对PetShop作一个全方位的解剖,依据的代码是PetShop4
阅读全文
摘要:由于最近忙于一些琐事,近半个月都没有写新的专题,今天忙里抽闲赶紧补上,实在是抱歉。 设计做多了就会发现,用户权限管理是一个永恒的话题,几乎没有什么项目不需要权限和角色管理的,可能会无数次去写角色管理的代码,而且会根据项目的不同粒度也会有所不同。在CS中,采用了MemberRole.dll中的RoleManager进行角色管理,该角色管理机制同样在asp.net 2.0 beta2 中得到应用。在分析代码之前先看看数据库中的角色的关系表: 表分两种前缀,一种是“aspnet_”另一种是“cs_”,“aspnet_”是采用MemberRole.dll组件所必需的一些表,包括过程和视图等都是这样命名
阅读全文
摘要:请用批判的眼光来看下面的文字: 线程和进程(Threads and Processes), 简单说,你启动一个程序,就启动了一个进程,早期win3.x的系统以进程为单位(嘿嘿,其实我没有用过win3.x),win98后每个进程还可以启动几个线程,因此以线程为单位。在如今的操作系统下线程间是独立运行的,但是他们共享一些内存中的片断,如:全局变量等。 问题来了:CS在服务器上运行是多线程的吗?每个用户的Http请求CS做了什么?CS系统在被第一次访问的时候由asp.net运行机制启动一个CS进程,启动进程是需要给该进程分配独立的内存地址的,该地址不受其他的进程影响和操作。也就是说如果你还有其他的W
阅读全文
摘要:上个专题我们讲到了Membership,了解了Membership可以让我们轻松的实现用户注册、登录、删除用户、用户更改密码等等一系列关于用户的基本操作,但是对于一个面向多用户的web程序,为了满足用户在访问站点时能够根据自己的喜好定制web站点的一些页面布局、皮肤,语言等等一些信息,Membership是不能满足要求的,因此,在CS中引入了Profile,Profile并不是为了实现用户个性化的机制,只是实现了个性化信息存储(在asp.net 2.0 beat2.0中页面的个性化可以用webpart实现的),目前CS的版本中还没有实现这个功能。但是我想,CS实现页面布局的个性化是迟早的事情,
阅读全文
摘要:专题八的上篇大致讨论了MemberRole中的Membership实现,对于运用Membership进行web开发足够,但是对于想更深入了解Membership实现机理的朋友那是远远不够的,这个专题我们更深入一下了解Membership。 其实MemberRole是一个非常好的资源包,借住Reflector这个优秀的工具,你可以对其进行代码分析。它无论是在组建的构架、代码的设计、数据库表的建立、存储过程的使用等都是非常优秀的,你是程序员也好构架师也罢,其中可以学习的真的很多很多,我在整个分析的过程中也深深受益。 由于MemberRole中的Membership只实现了对SQL Server的操
阅读全文
摘要:MemberRole是一个在asp.net 1.1下实现用户管理、角色管理、用户特性信息存储(profile)等的一个组件,该组件被ASP.NET 2.0 Beta 2所采用,也就是ASP.NET 2.0 Beta 2中所说的Membership and Roles。如果你在asp.net 1.1下采用了MemberRole,那么你的web程序将会很容易的过渡到asp.net 2.0,另外多个采取MemberRole进行用户管理的web程序需要整合时也非常容易。我将分4个专题来分析MemberRole,探索一下MemberRole到底是如何工作的,无论对CS的构架还是对了解asp.net 2.
阅读全文
摘要:在CSHttpModule.cs文件中的Init方法下有这样一行: 接着在Dispose方法中还有这么一行: Job?什么是Job,在CS运行过程中有什么用途,又是如何运行的?这篇专题将叙述Job的工作流程. 你可以这里理解CS中的Job:“干一些零碎事情的钟点工”。 讲解之前要先了解一个接口:IDisposable,MSDN是这样定义的:定义一种释放分配的非托管资源的方法。当托管对象不再使用时,垃圾回收器会自动释放分配给该对象的内存,不过,进行垃圾回收的时间不可预知。另外,垃圾回收器对窗口句柄、打开的文件和流等非托管资源一无所知。 将此接口的 Dispose 方法与垃圾回收器一起使用来显式释
阅读全文
摘要:对于CS的分析你可以能会从页面开始,其实那并不是一个很好的方法,因为CS采用了MasterPage和内建的Theme与Skins,页面一层嵌套一层,如果你对CS页面执行机制不了解,或者你是初学者,这个时候可能就会碰壁,接着就放弃了对CS更深入的了解。我希望我的专题能从CS的运行过程开始一步一步地讲解,同时把ASP.NET的运行机理也表述出来,因此学习了解CS的过程就是对ASP.NET深入了解得过程。当然,我个人的开发经验与水平也是有限的,如果在专题中表述有问题,或者有疑问可以直接在文章的评论中直接指出,我将万分感谢你。 在分析CSHttpModule.cs的时候,你会看到这样两句代码: CSE
阅读全文
摘要:如果你了解Factory设计模式,这篇文章可以不用看,只要会配置IHttpHandlerFactory就可以,不了解也没有关系,通过下面的文章你可以学会如何使用IHttpHandlerFactory,同时还会明白Factory设计模式的广义定义 在前一篇专题中讲解了HttpHandler在CS中的运用以及一些相关的话题。其实实现HttpHandler功能还有另外一个选择就是Handler Factory(CS 中没有用到Handler Factory),这是通过继承IHttpHandlerFactory接口来实现的。 IHttpHandlerFactory接口的定义如下: interfaceI
阅读全文
摘要:HttpHandler实现了ISAPI Extention的功能,他处理请求(Request)的信息和发送响应(Response)。HttpHandler功能的实现通过实现IHttpHandler接口来达到。 看图先: 在ASP.NET 管道处理的末端是HTTP Hander,其实每个Asp.net的Page都实现了IHttpHander,在VS.net中的对象察看器中你可以证实这一点 具体的类是这样定义的:public class Page : TemplateControl, IhttpHandler。 接口IHttpHandler的定义如下: interfaceIHttpHandler{
阅读全文
摘要:从专题三开始分析Community Server的一些具体的技术实现,根据IIS对请求的处理流程,从HttpModule& HttpHandler切入话题,同时你也可以通过一系列的专题了解CS的运行过程,不只如此,所有的.Net 1.1 构架的Web App都是以同样的顺序执行的。 先了解一下IIS系统。它是一个程序,负责对网站的内容进行管理并且处理对客户的请求做出反应。当用户对一个页面提出请求时,IIS做如下反应(不考虑权限问题): 1.把对方请求的虚拟路径转换成物理路径 2.根据物理路径搜索请求的文件 3.找到文件后,获取文件的内容 4.生成Http头信息。 5.向客户端发送所有的
阅读全文
摘要:在进行CS细节分析的之前,有必要先了解CS工程(解决方案)的组成,以及组成CS工程中项目的结构,本文分为三个部分:1、工程结构 2、三层构架 3、数据库构架。 1:工程结构 CS工程主要分为4个部分 a:系统底层构架项目CommunityServerComponents、CommunityServerControls,提供给其他项目父类、接口、全局变量、CS系统设置、公用用户自定义控件、用户与权限管理业务逻辑、异常处理等。 b:CommunityServerBlogs、CommunityServerForums、CommunityServerGalleries、CommunityServerD
阅读全文
摘要:Community Server(CS)是一个非常优秀的Asp.net开源软件,目前官方发布的系统中包括三个部分:Asp.net Forums、DotText、Gallery。如果你是某个以CS构架网站的会员,你可以很容易的就拥有一个Blog、一个相册、还能在论坛上与他人一起进行讨论,这样就形成一个以User为中心的社区,这也就是起名为Community Server的意义所在了。 CS的构架很巧妙,三套原本不同的开源软件在Telligent Systems的努力下结合在了一起,统一进行用户管理与权限设置(Menbership)、统一进行异常处理、统一进行本地化资源管理(多语言实现)等等。虽然
阅读全文
摘要:01.BlogEngine.Net架构与源代码分析系列part1:开篇介绍 02.BlogEngine.Net架构与源代码分析系列part2:业务对象——共同的父类BusinessBase 03.BlogEngine.Net架构与源代码分析系列part3:数据存储——基于Provider模式的实现 04.BlogEngine.Net架构与源代码分析系列part4:Blog全局设置——BlogSettings 05.BlogEngine.Net架构与源代码分析系列part5:对象搜索——IPublishable与Search 06.BlogEngine.Net架构与源代码分析系列part6:开放
阅读全文
摘要:灵活的URL重写可以让你的网站增加可用性和专业性。在帮助网站更好的被搜索引擎索引收录方面,这也是一个重要的因素。在本篇文章中,我将带你了解 如何在ASP.NET中简单的实现URL重写,以及一些常见问题的解决办法。我还将说明为什么URL重写如此重要,以及如何使用它来增强你的网站。 什么是URL重写? URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是 “www.mysite.com/UserProfile/1.aspx”,那么它可以被重写成 “www.mysite.com/UserProfile.aspx...
阅读全文
摘要:概要 分析如何使用微软提供的ASP.NET来对动态产生的URL地址进行网址重写。 网址重写是实现一种截取网址请求并将其进行处理后重新指向到一个指定的网址的过程。作者本人在对各种实现网址重写的技术进行研究和探讨后得出的经验和方法,希望能对您有所帮助。 内容简介 稍微花点时间看一看你做的网站里头的URL地址,你看到类似这样的地址吗http://yoursite.com/info /dispEmployeeInfo.aspx?EmpID=459-099&type=summary ?也许你会出于某种目的把大量的页面文件从一个目录甚至一个网站转移到其他地方,而许多访问者出于个人兴趣或者研究目..
阅读全文
摘要:1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载 http://www.helicontech.com/download-isapi_rewrite.htm , IIS Rewrite 简化版组件下载 http://www.newhua.com/soft/71446.htm ,下载下来解压后不用安装拷到目 1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载http://www.helicontech.com/downloa...
阅读全文
摘要:什么是委托 首先要知道什么是委托,用最通俗易懂的话来讲,你就可以把委托看成是用来执行方法(函数)的一个东西。 如何使用委托 在使用委托的时候,你可以像对待一个类一样对待它。即先声明,再实例化。只是有点不同,类在实例化之后叫对象或实例,但委托在实例化后仍叫委托。 声明,如: 1namespaceVczx.ProCSharp.Exc 2{ 3delegatedoubleMathsOp(doublex); 4//classdefinationhere 5} 这就声明了一个委托,意义:任何一个返回值为double,且只有一个形参为double的函数,都可以用这个委托来调用。 注意:委托的声明位置在na
阅读全文
摘要:本文假设您熟悉 Visual Basic .NET 下载本文的代码: XPathandXSLT.exe (166KB) 摘要 XPath 是一种正在兴起的通用查询语言。通过 XPath,可以在基于 XML 的数据源中识别和处理一组相关的节点。XPath 提供了一个基础结构,它是 .NET Framework 中的 XML 支持的组成部分。XPath 导航模型甚至用在 XSLT 处理程序的内部。在本文中,作者考察了 XPath 导航器和 XSLT 处理程序的实现细节,并且包含了一些实际的示例,例如异步转换、排序节点集和 ASP.NET 服务器端转换。 XML 的主要优点之一是,它...
阅读全文
摘要:1.建立工程,添加引用,添加SharpZipLib.dll2.建立压缩和解压类CompressionFile.cs添加如下代码 usingSystem;usingSystem.IO;usingICSharpCode.SharpZipLib.Zip;usingICSharpCode.SharpZipLib.GZip;usingICSharpCode.SharpZipLib.BZip2;usingICSharpCode.SharpZipLib.Checksums;usingICSharpCode.SharpZipLib.Zip.Compression;usingICSharpCode.SharpZ
阅读全文
摘要:在企业开发过程中经常会遇到文件的压缩与解压,虽然网上很多流行的压缩文件格式都是RAR的,但是由于RAR不是一个开放的标准,因此ZIP成了更多人的选择。如果你不想自己开发的话可以选择开源的项目,比如SharpZipLib就是一个不错的选择。 组件的使用比较简单,请参照下面的代码。点击下载项目源码 /* *GaryZhang--cbcye@live.com *www.cbcye.com *www.quicklearn.cn *cbcye.cnblogs.com */ usingSystem; usingSystem.Collections.Generic; usingSystem.Text; us
阅读全文
摘要:如果要对XML文件进行模糊查找的话是一个比较麻烦的事情,Xpath表达式中没有像文件系统中的“*”或"?" 或者有像SQL表达式中的"%",这样的模糊查找的通配符。但是还好,在Xpath的函数中提供了像contains和match这样的函数。 contains是一个字符串查找函数 语法是:fn:contains(string1,string2),表示如果 string1 包含 string2,则返回 true,否则返回 false。 例如:contains('XML','XM'),结果:true。 match是一个匹配正则
阅读全文
摘要:XPath 是在 XML 文档中查找信息的语言,在BizTalk的开发中应用非常广泛,当然你可以不必先学Xpath再去学BizTalk。但是如果对Xpath有一定了解的 话,在很多应用下会使你的开发更加快捷。为了方便查阅整理了一些Xpath常识和实际实例给开发过程提供个参考。由于BizTalk还未支持Xpath 2.0,所以以下的例子都是基于W3C 1.0规范。 Xpath的重要性 [实 际的场景] 之前做一个升级的项目,在项目中需要对XML进行节点查找并比较里面相应的值,通过比较结果再选取它的父节点。由于接收到的XML文件节点值经常会多带一 些空格。所以原有的系统是在自定义类库中循环选择节点
阅读全文
摘要:本文主要简单介绍如何使用eaglet的盘古分词在lucene.net中进行创建索引和简单搜索。盘古分词是eaglet大大的杰作,如果您还没有尝试使用过,希望本文的介绍会对您有所帮助。 1、盘古分词参考资料汇总 http://www.cnblogs.com/eaglet/tag/%e5%88%86%e8%af%8d/ http://pangusegment.codeplex.com/ http://hubbledotnet.51aspx.com/ http://home.cnblogs.com/group/topic/31349-6.html 牛人的贡献不仅仅是无私提供几个工具,几个类库,几..
阅读全文
摘要:1. 下载 ISAPI_Rewrite 我这里的 1.32. 进入iis 信息管理器,点网站-->属性-->ISAPI删除原来的筛选器3. 点击某个站点-->属性-->添加ISAPI筛选器,我的原则是放到各自己自己的站点下,如在站点里建一个目录ISAPI_Rewrite,然后把 ISAPI_Rewrite.dll 和 httpd.ini 放这里4. 配置好重启一下 iis ,接下来就是调试 httpd.ini 了,5. 调试httpd.ini 不需要重启 iis 和站点6. httpd.ini 编写规则需要注意的是: .?这些要转义 \.\? 例子:[ISAPI_Rew
阅读全文
摘要:要使你的IIS服务器支持伪静态重写,按以下步骤来: 1. 安装重写插件Rewrite.dll 如果你的 IIS 服务器加载过 Rewrite.dll 则可以不用下载。 Rewrite.dll文件:http://blog.hxxsh.com/UploadFiles/2006-10/1013525016.rar 加载 Rewrite.dll 在 IIS 的 Isapi 上添加筛选器 筛选器名称为:re 可执行文件选择 Rewrite.dll 就可以了! 2. 配置 httpd.ini 打开你的httpd.ini,找到 [ISAPI_Rewrite] # 3600 = 1 ho...
阅读全文
摘要:ISAPI_Rewrite是一个较为好用的URL重写组件,安装和配置都比较简单,防盗链的设置也极其简单。 问题 如何获取被ISAPI_Rewrite重写后的URL。 测试环境:IIS6中使用ISAPI_Rewrite对Default.aspx进行重写,重写后的地址为:Index-After-ReWriter.html。 需要获取重写后的地址,即Index-After-ReWriter.html。 一些弯路 首先想到的就是Request对象,如Request.Url和Request.RawUrl。 测试后发现获取到的地址都是Default.aspx。 上网找了找ISAPI_Rewrite的处理.
阅读全文
摘要:最近研究了个全文搜索的,Lucene.net,很有名的开源组件(有Java版本)。其实谈不上研 究,就是以前客户有个需要,要能搜索上传文件(如 word Excel Txt 等等),项目中这些附件都存在一个image字段中的,一直没有办法来搜索,本文就讲一下如何利用Lucene.net对附件做搜索功能,并且利用com 组件来读取office内容。 介绍一下Lucene.net的使用,使用了Lucene.Net.dll2.1 Highlighter.Net.dll 2.0(高亮) Lucene.Net.Analysis.Cn.dll 1.3(划词引擎): 1 添加索引 ///<summa.
阅读全文
摘要:简介 前面一 篇<<关于大型asp.net应用系统的架构-架构的选择>>写完之后,有一些同仁热心回复,有的是提问题,同时希望能举一些例 子来说明;有的是提建议,希望下一篇写得更详细点;还有的同仁提出不同的观点。感谢大家的参与。会继续努力的。本文将针对Layer(层)和 Tier(排)的区别做个辨析。并详细介绍3 Tier / N Tier架构中各Tier的开发。各Tier的分布式方式。以及为了达到高性能,低延迟,高可伸缩性,需要采取哪些方法和手段。 关于“大型asp.net应用系统 ”的概念 意指能支持同时在线用户数目很多的asp.net应用系统。同时在线用户数目要达到
阅读全文
摘要:前言 最近几年在.net方面的工作经历,让我长久以来(有几年了)想写关于大型asp.net应用系统架构文章的念头。之前和同事们聊天的时候说的 都是一些思维片段,其中的想法不尽完善,聊完天再仔细想想,一些主意就逐渐清晰了。现在终于付诸行动了,将一些想到的主意与大家一起探讨,也算是对过去几 年在ASP.NET方面的一个总结。这对我来说也是一个学习过程。 博客园有不少同仁在写系统架构或者企业应用架构方面的文章,我看过其中一些。就我看过的这些文章,我发现他们当中相当多的人写的是分层架构。从 我的看法来说,分层是不错。但是如果是我自己写的话,我会从架构的选择来说起。那么应用程序的架构就有可能不选...
阅读全文
摘要:在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了。本文追本溯源围绕这个模式谈一谈。 名词解释 首先解释一下上面的几个名词: https:在http(超文本传输协议)基础上提出的一种安全的http协议,因此可以称为安全的超文本传 输协议。http协议直接放置在TCP协议之上,而https提出在http和TCP中间加上一层加密层。从发送端看,这一层负责把http的内容加密后 送到下层的TCP,从接收方看,这一层负责将TCP送来的数据解密还原成http的内容。 SSL(Secure Socket Layer):是Netscape公司设计的主要用于WEB的
阅读全文
摘要:Lucene.Net 2.3.1开发介绍 —— 简介 Lucene.Net 2.3.1开发介绍 —— 一、接触Lucene.Net Lucene.Net 2.3.1开发介绍 —— 二、分词(一) 本篇介绍了如何测试分词器的效果,并且简单测试了一下Lucene.Net内置分词器的效果。 Lucene.Net 2.3.1开发介绍 —— 二、分词(二) 本篇介绍Lucene.Net的分词过程,分析最懒惰的什么也不做的KeywordAnalyzer分词器和只用空格分词的WhitespaceAnalyzer分词器。然后粗略得到Lucene.Net的分词流程和如何简单的分词,这些是自己写分词器的基础。 L
阅读全文
摘要:本文主要简单介绍如何使用eaglet的盘古分词在lucene.net中进行创建索引和简单搜索。盘古分词是eaglet大大的杰作,如果您还没有尝试使用过,希望本文的介绍会对您有所帮助。 1、盘古分词参考资料汇总 http://www.cnblogs.com/eaglet/tag/%e5%88%86%e8%af%8d/ http://pangusegment.codeplex.com/ http://hubbledotnet.51aspx.com/ http://home.cnblogs.com/group/topic/31349-6.html 牛人的贡献不仅仅是无私提供几个工具,几个类库,几..
阅读全文
摘要:DotText源码阅读 作者:shanhe DotText源码阅读(0) DotText源码阅读(1)-调试 DotText源码阅读(2)-工程、数据库表结构 DotText源码阅读(3)-框架配置体系和反序列化 dotText源码阅读(4)--DTO和数据访问 dotText源码阅读(5)--URLreWrite和Handler DotText源码阅读(6) --模版皮肤 DotText源码阅读(7) --Pingback-TrackBack
阅读全文
摘要:DotLucene搜索引擎Demo之:创 建索引DotLucene的官方网站这样介绍:DotLucene是一个专门为NET设计的功能强大的搜索引擎!他上面也有一个在线demo,搜索 3.5GB的文本数据所花费的时间在0.1秒左右!大家可以点这里测试。我也记得在我的一个网站99 收藏夹(注1)里面有个在线帮助,他是用StreamReader来读文本数据的,其他的是读数据库,我发现不管是读数据库还是一xml的形式读xml文 档,不管你的数据库如何优化,也不管你的机器培植如何之高,读的速度与读文本数据的速度是不可比的,大家也可到http://www.99scj.com测试下。点在线帮助,一闪就出来了
阅读全文