君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理

2011年3月28日 #

摘要: 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" 阅读全文
posted @ 2011-03-28 03:42 刺猬的温驯 阅读(721) 评论(0) 推荐(0) 编辑

摘要: 原本想基于XmlDocument自己写一个Xml编写器,但却发觉状态维护实在麻烦。在阅读《Applied Xml Programming for Microsoft .Net》时,意外发现XmlTextWriter的优越性,于是决定直接使用它进行开发。 XmlWriter与XmlTextWriter的区别 一开始我认为既然XmlTextWriter可以用,那XmlWriter也一定可以用,当我写完下面的语句时,编译器报错。 XmlWriterdoc=newXmlWriter(); 原因很简单,XmlWriter是抽象类,自然不能直接实例化。看了书后才知道XmlTextWriter... 阅读全文
posted @ 2011-03-28 03:33 刺猬的温驯 阅读(699) 评论(0) 推荐(0) 编辑

2011年3月23日 #

摘要: 如果你曾经使用过XSLT,当你需要对XML文档中的字符串或数字进行排序时,你可能会习惯于使用xsl:sort元素,在进行xsl:for- each进行循环或用xsl:apply-templates调用模板时,这个元素的功能很方便,而且简单。然而,在某些情况下,你只是想简单对XML文 档进行简单的排序和显示数据,那么xsl:sort就会大大降低计算机性能,下面就解释一下,如何在不使用xsl:sort元素的情况下,实现对XML数 据进行排序。 在.NET平台下,要完成这样的工作非常轻松,我们只需使用System.Xml.XPath名字空间里的几个类即可,如 XPathNavigator和XPath 阅读全文
posted @ 2011-03-23 01:17 刺猬的温驯 阅读(364) 评论(0) 推荐(0) 编辑

2011年3月20日 #

摘要: 标签:序列化和反序列化本文介绍使用使用WriteXml,ReadXml对DataTable序列化反序列化,同时处理"DataTable 不支持来自 XML 的架构推断。"错误. 由于DataTable本身就实现了ISerializable, IXmlSerializable接口.所以本身就支持序列化反序列化. DataTable是个很好的数据类型 1.数据库中的表完全对应. 2.Repleater,DataGrid等控件都支持对它的绑定. 3.在代码中循环遍历特别方便. 但为了网络传输,或者离线保存,就需要序列化反序列化为xml.WriteXml,ReadXml就是实现次目 阅读全文
posted @ 2011-03-20 04:23 刺猬的温驯 阅读(2477) 评论(0) 推荐(0) 编辑

2011年3月14日 #

摘要: 引用 e路共赢 的 Asp.net下实现隐藏真实下载地址(可以实现简单的防盗链)现 在随着FlashGet和xunlei等下载工具的日益普及,下载网站的一些下载地址都能直接被捕获到,,但是有些时候为了防盗链或权限限制不想对地址进 行暴露,对于Asp.net下的防盗链有很多方法,我这里写了一种(51aspx的新版本将会采纳)希望大家讨论一下: stringfilename="Test.rar";if(filename!=""){stringpath=Server.MapPath(filename);System.IO.FileInfofile=newSys 阅读全文
posted @ 2011-03-14 02:12 刺猬的温驯 阅读(407) 评论(0) 推荐(0) 编辑

摘要: 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 阅读全文
posted @ 2011-03-14 02:02 刺猬的温驯 阅读(388) 评论(0) 推荐(0) 编辑

摘要: 《解剖PetShop》系列之六六 PetShop之表示层设计 表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如 果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了客户的需求,却仍 然难以讨得客户的欢心。俗语云:“佛要金装,人要衣装”,特别是对于Web应用程序而言,Web网页就好比人的衣装,代表着整个系统的身份与脸面,是招徕 “顾客”的最大卖点。 “献丑不如藏拙”,作 阅读全文
posted @ 2011-03-14 01:49 刺猬的温驯 阅读(296) 评论(0) 推荐(0) 编辑

摘要: 《解剖PetShop》系列之五 五 PetShop之业务逻辑层设计业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统 所应对的领域(Domain)逻辑有关,很多时候,我们也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细 阅读全文
posted @ 2011-03-14 01:48 刺猬的温驯 阅读(279) 评论(0) 推荐(0) 编辑

摘要: 《解剖PetShop》系列之四 四 PetShop之ASP.NET缓存 如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存 储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用 Cache存储CPU访问概率高的那些数据,当CPU需要访问这些数据时,可以直接从Cache中读取,而不必访问存取速度相对较慢的内存,从而提高了 CPU的工作效率。软件设计借鉴了硬件设计中引入缓存的机制以改善整个系统的性能,尤其是对于一个数据库驱 阅读全文
posted @ 2011-03-14 01:47 刺猬的温驯 阅读(269) 评论(0) 推荐(0) 编辑

摘要: 《解剖PetShop》系列之三三、PetShop数据访问层之消息处理在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量、数据流量、服务器负荷的问题。解决性能的瓶颈,除了对硬件系统进行升级外,软件设计的合理性尤为重要。在 前面我曾提到,分层式结构设计可能会在一定程度上影响数据访问的性能,然而与它给设计人员带来的好处相比,几乎可以忽略。要提供整个系统的性能,还可以从 数据库的优化着手,例如连接池的使用、建立索引、优化查询策略等等,例如在PetShop中就利用了数据库的Cache,对于数据量较大的订单数据,则 阅读全文
posted @ 2011-03-14 01:46 刺猬的温驯 阅读(277) 评论(0) 推荐(0) 编辑