陈宝刚---享受生活,追逐梦想!
理想是心中的火焰,有追求的人才是幸福的人!
摘要: 程序集绑定日志查看器显示程序集绑定的详细信息。这些信息有助于您诊断 .NET Framework 无法在运行时找到程序集的原因。这些失败通常由以下因素导致:部署到错误位置的程序集、不再有效的本机映像或者版本号或区域性不匹配。如果公共语言运行库未能找到程序集,则通常会在您的应用程序中表现为 TypeLoadException。 查看程序集绑定日志的内容 从 SDK 命令提示 ... 阅读全文
posted @ 2009-01-23 23:00 追梦人RUBY 阅读(857) 评论(0) 推荐(0) 编辑
摘要: 过去的一年里,我们发现和修补了大家报告遇上的几个ASP.NET 2.0编译缺陷。 引发这些缺陷的原因有多个,但根本原因通常跟项目的结构有关,这些项目有特别的跨页面的循环依赖。这些缺陷往往在系统上发生大规模的文件变化时(譬如,一个抗病毒程序同时更新很多文件上的所有时间戳)会被触发。 出错信息的例子: 下面这些出错信息,是你遇上这些编译问题时,你也许看到的运行时异常类型的例子: Unable to c... 阅读全文
posted @ 2009-01-23 22:56 追梦人RUBY 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 在net2中,做了以下测试: 1 菜单"新建 -> 网站" 2 建立页面Default.aspx,类型是页面与代码分开。其中对应的类是”_Default“,在namespace"T1"下。 3 建立页面Default2.aspx,类型是页面与代码不分开 4 建立类T1.Class1,编辑器会将Class.cs放在App_Code下。 然后我发布,菜单"生成 -> 发布网站",这时有三个选择项: ... 阅读全文
posted @ 2009-01-23 22:41 追梦人RUBY 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 在之前的文章里我们已经谈论了有关URL Rewrite的几个主要的方面。在本系列的最后一篇文章中,我们就来讨论一下有关不同级别URL Rewrite的一些细节与特点。 理论上说,IIS级别的URL Rewrite使用C或C++编写,比使用托管代码编写的ASP.NET级别URL Rewrite性能要高。但是我认为这方面的差距在大部分情况下可以忽略不计,这种性能几乎不可能成为性能瓶颈。因此选择何种... 阅读全文
posted @ 2009-01-23 21:58 追梦人RUBY 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 在进行了URL Rewrite之后,经常会遇到的问题就是页面中PostBack的目标地址并非客户端请求的地址,而是URL Rewrite之后的地址。以上一篇文章中的重写为例: 当用户请求“/User/jeffz”之后,页面中的出现的代码却会是,这是因为在生成代码时,页面会使用当前Request.Url.PathAndQuery的值来得到form元素的action。这导致了一旦P... 阅读全文
posted @ 2009-01-23 21:57 追梦人RUBY 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 可能已经没有人会使用上一篇文章中的方法进行URL Rewrite了,因为提供URL Rewrite的组件早已铺天盖地了。 ASP.NET级别的URL Rewrite组件的原理很简单,其实只是监听BeginRequest事件,并且根据配置来决定目标URL。在我之前接触过的项目中,发现使用URLRewriter作为URL Rewrite组件的频率非常高,我想可能是因为那是微软提供的东西吧。 如... 阅读全文
posted @ 2009-01-23 21:56 追梦人RUBY 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 之前觉得这个话题已经被谈滥了。URL Rewrite早已经被广大开发人员所接受,网上关于URL Rewrite的组件和文章也层出不穷,但是总是让我感觉意犹未尽,于是最终还是忍不住提笔写了这系列文章。这些文章不会谈论URL Rewrite的价值与意义,而只会谈论纯技术的内容。文章中也不会有详尽地实现分析,而是结合了我的经验,从应用角度来讲解这个话题。您已经知道的,您还不知道的,别处已经讲过的,或者还... 阅读全文
posted @ 2009-01-23 21:54 追梦人RUBY 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 表示层(Presentation Layer)的设计可以给系 统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如 果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了... 阅读全文
posted @ 2009-01-23 18:08 追梦人RUBY 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 五 PetShop之业务逻辑层设计 业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统 所应对的领域(Domain)逻辑有关,很多时候,我们也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Applicat... 阅读全文
posted @ 2009-01-23 18:07 追梦人RUBY 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存 储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用 Cache存储CPU访问概率... 阅读全文
posted @ 2009-01-23 18:06 追梦人RUBY 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量、数据流量、服务器负荷的问题。解决性能的瓶颈,除了对硬件系统进行升级外,软件设计的合理性尤为重要。 在 前面我曾提到,分层式结构设计可能会在一定程度上影响数据访问的性能,然而与它给设计人员带来的好处相比,几乎可以忽略。要提供整个系统的性能,还可以从 数据库的... 阅读全文
posted @ 2009-01-23 18:05 追梦人RUBY 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 二.PetShop数据访问层之数据库访问设计 系列一从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开始,将依次对各层进行代码级的分析,以求获得更加细致而深入的理解。在PetShop 4.0中,由于引入了ASP.NET 2.0的一些新特色,所以数据层的内容也更加的广泛和复杂,包括:数据库访问、Messaging、MemberShip、Profile四部分。在系列二中,将介绍有关... 阅读全文
posted @ 2009-01-23 18:05 追梦人RUBY 阅读(204) 评论(0) 推荐(0) 编辑
摘要: PetShop是一个范例,微软用它来展示.NET企业系统开发的能力。业界有许多.NET与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.NET 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,有很多可以借鉴之处。PetShop是一... 阅读全文
posted @ 2009-01-23 18:04 追梦人RUBY 阅读(239) 评论(0) 推荐(0) 编辑
摘要: UrlRewriter 是微软封装好了的一个URL重写组件。使用它可以让我节约很多自已开发的时间。 好了,开始讲述我的应用经验,这只是很菜鸟的经验,高手就不用看了。 第一步,请从此下载此组件。解压,把UrlRewriter.dll copy到你的项目 bin 目录下。 第二步,在Web.config中加入: 第二步,加入重写的规则节点: 如: ... 阅读全文
posted @ 2009-01-23 18:02 追梦人RUBY 阅读(240) 评论(1) 推荐(0) 编辑
摘要: 二层是 客户端-服务器 三层是 客户端-中间件-服务器 三层结构就是:用户界面层,商业逻辑层,数据库层 用户界面层负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(VB,VC,ASP等)开发;商业逻辑层是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果... 阅读全文
posted @ 2009-01-23 18:01 追梦人RUBY 阅读(749) 评论(0) 推荐(0) 编辑
摘要: 逻辑层,说的最简单就是把从数据层获得的数据进行再次筛选和处理,得到我们可以直接应用的数据。 而在表现层,则不去理会用的是数据库还是XML文件,它只考虑将逻辑层的数据直接地显示或者应用。 比如:本例中,添加文章的时候,对于数据的正确性验证的逻辑判断就是在逻辑层发生,... 阅读全文
posted @ 2009-01-23 18:00 追梦人RUBY 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 建立数据访问层,也就是三层体系的最低层。他应该包含了直接和物理数据存储空间(并不单指数据库)打交道的一些方法。这是一些通用的方法,如本例中的SQLHelper。当然,如果需要有更强的通用性,完全可以再抽象出来,建立工厂什么的。 在这里,SQLHelper就不再累赘,本文主旨不再于此。 创建出实体类,实体类说的最简单可以看作是用类来表现物理源的数据逻辑关系,比如表间关系,字段关系等。 public ... 阅读全文
posted @ 2009-01-23 17:59 追梦人RUBY 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 首先我们得修改UrlRewriter,怎么修改请参见江大鱼的BLog。 1.BaseModuleRewriter.cs protected virtual void BaseModuleRewriter_AuthorizeRequest(object sender, EventArgs e) { HttpApplication app = (HttpApplication... 阅读全文
posted @ 2009-01-23 17:58 追梦人RUBY 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 导言 作为web开发人员,我们的生活围绕着数据操作。我们建立数据库来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据。本文是研究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇。我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL),以及一个由共享页面布... 阅读全文
posted @ 2009-01-23 17:56 追梦人RUBY 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1、传入值,将值进行类型转换(为整型) 2、创建bll层的对象,通过对象访问bll层的方法调用bll层 3、bll层方法中取得数据访问层的实例,实例化idal层的接口对象,这个对象是由工厂层创建的,然后返回idal层传入值所查找的内容的方法 4、数据工厂通过web.config配置文件中给定的webdal字串访问sql层,返回一个完整的调用sql层的路径给 bll层 5... 阅读全文
posted @ 2009-01-23 17:49 追梦人RUBY 阅读(250) 评论(0) 推荐(0) 编辑