.Net
zhaosoft1982
暂时不写!
展开
-
petshop4.0 详解之五(PetShop之业务逻辑层设计)
五 PetShop之业务逻辑层设计业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,我们也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application转载 2009-09-27 11:46:00 · 437 阅读 · 0 评论 -
大型网站架构设计及技术总结(2)
随着中国大型IT企业信息化速度的加快,大部分应用的数据量和访问量都急剧增加,大型企业网站正面临性能和高数据访问量的压力,而且对存储、安全以及信息检索等等方面都提出了更高的要求…… 本文中,我想通过几个国外大型IT企业及网站的成功案例,从Web技术人员角度探讨如何积极地应对国内大型网站即将面临的扩展(主要是技术方面,而较少涉及管理及营销等方面)矛盾。 一、 国外大型IT网站的成功之道 (转载 2009-10-12 08:39:00 · 971 阅读 · 0 评论 -
如何利用客户端缓存对网站进行优化
介绍你的网站在并发访问很大并且无法承受压力的情况下,你会选择如何优化?很多人首先会想从服务器缓存方面着手对程序进行优化。许多不同的服务器缓存方式都有他们自己的特点。像我曾经参与的一些项目中,根据缓存的命中率不同使用 过 Com+/Enterprise Libiary Caching/Windows服务,静态文件等方式的服务器端缓存和 HTTP Compression技术。但客户端缓存往往却被人转载 2009-10-12 17:43:00 · 781 阅读 · 0 评论 -
C#关键字之yield(迭代器)
今天讲到迭代器,对迭代器中yield关键字做了研究。 说起yield,不得不先说说迭代器。迭代器是C# 2.0中的新功能,有了它,我们就可以在自己的类或者结构中支持foreach迭代而不必实现整个IEnumerable接口,我们只需要提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,它将自动生成IEnumerable接口的Current、MoveNext和Dispose方法。原创 2009-10-14 09:17:00 · 7968 阅读 · 2 评论 -
C#泛型的优势
在C#中,使用泛型会获得以下优势:减少装箱和拆箱操作,提高性能 可以进行编译时类型检查 举例说明:使用非泛型的集合类,利用 .NET Framework 基类库中的 ArrayList 集合类。ArrayList 是一个使用起来非常方便的集合类,无需进行修改即可用来存储任何引用或值类型。view plaincopy to clipboardprint?// The .NET Frame原创 2009-10-15 09:48:00 · 1333 阅读 · 0 评论 -
.Net环境下的缓存技术介绍
1 概念1.1 缓存能解决的问题· 性能——将相应数据存储起来以避免数据的重复创建、处理和传输,可有效提高性能。比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度;· 稳定性——同一个应用中,对同一数据、逻辑功能和用户界面的多次请求时经常发生的。当用户基数很大时,如果每次请求都进行处理,消耗的资源是很大的浪费, 也同时造成系统的不稳定。例如,w原创 2009-10-12 17:32:00 · 686 阅读 · 0 评论 -
信息系统开发中用户需求调研分析方法例解
信息系统开发中用户需求调研分析方法例解 陈书勤结构化生命周期法是最常用的管理信息系统开发方法,分为四个步骤,即系统调研分析、数据库设计实现、界面设计实现和系统功能设计实现。其中系统调研分析阶段是最基础、也是最容易被开发人员忽视的环节。下面通过为假设的ABC公司开发一个库存管理信息系统的实例,轻松地学会如何有效地开展用户需求调研和分析的方法。 1、如何制定用户需求调研计转载 2009-10-13 11:10:00 · 4988 阅读 · 0 评论 -
中大型网站的服务器部署架构
对于一个大型网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:首先是横向的分: 1. 大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵活地去把这些网站部署到不同的服务器上。 2. 静态动态分离:静态文件和动态文原创 2009-10-13 10:49:00 · 5340 阅读 · 0 评论 -
C# 中的委托和事件
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对原创 2009-10-16 11:17:00 · 839 阅读 · 0 评论 -
MVC框架
MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言S原创 2009-10-21 11:30:00 · 625 阅读 · 0 评论 -
C#2.0迭代器
C#的foreach语句常用来迭代可枚举的集合的元素。为了实现可枚举,一个集合必须有一个无参的GetEnumerator方法,这个方法返回一个枚举器。通常,枚举器比较难实现,但是,用迭代器来简化(枚举器)的任务十分有意义。一个迭代器是产生一个有序的值序列的一个语句块 。一个迭代器由出现一个或者多个yield语句而区别于一般的语句块:只要函数成员的返回类型是枚举器接口或者enumerab原创 2009-10-11 11:11:00 · 818 阅读 · 0 评论 -
C#语法之virtual关键字
virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。例如,此方法可被任何继承它的类重写。public virtual double Area(){return x * y;}虚拟成员的实现可由派生类中的重写成员更改。调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成原创 2009-10-10 08:10:00 · 2995 阅读 · 0 评论 -
大型网站架构设计及技术总结
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,转载 2009-10-12 08:37:00 · 3184 阅读 · 0 评论 -
找不到存储过程'dbo.aspnet_CheckSchemaVersion'& aspnet_regsql注册失败
发现如下错误: 找不到存储过程dbo.aspnet_CheckSchemaVersion解决方法: 导航到目录C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727,执行aspnet_regsql.exe,一定要选对数据库(跟webconfig中connectionString中保持一致)问题原创 2009-09-28 10:41:00 · 1324 阅读 · 0 评论 -
petshop4.0 详解之二(数据访问层之数据库访问设计)
在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开始,我将依次对各层进行代码级的分析,以求获得更加细致而深入的理解。在PetShop 4.0中,由于引入了ASP.Net 2.0的一些新特色,所以数据层的内容也更加的广泛和复杂,包括:数据库访问、Messaging、MemberShip、Profile四部分。在系列二中,我将介绍有关数据库访问的设计。在PetSh转载 2009-09-27 09:39:00 · 527 阅读 · 0 评论 -
petshop4.0 详解之七(PetShop表示层设计)
6.4 ASP.NET 2.0新特性由于PetShop 4.0是基于.NET Framework 2.0平台开发的电子商务系统,因而它在表示层也引入了许多ASP.NET 2.0的新特性,例如MemberShip、Profile、Master Page、登录控件等特性。接下来,我将结合PetShop 4.0的设计分别介绍它们的实现。6.4.1 Profile特性Profile提供的功原创 2009-09-27 11:51:00 · 505 阅读 · 0 评论 -
Membership角色与权限管理 [1]
本文目录:1.membership简介2.membership在sql server中的设置3.配置web.config4.创建用户CreateUserWizard控件5.用户登录login控件6.显示当前用户的名称LoginName控件7.检测用户的身份验证状态的LoginStatus控件8.为不同类别用户呈现不同内容的LoginView控件9.更改密码的ChangePassword控件10.自原创 2009-09-28 13:53:00 · 669 阅读 · 0 评论 -
Membership角色与权限管理 [3]
在vs2008中创建一个aspx页面,取名CreateUserWizard.aspx。直接从toolbox中拖入一个CreateUserWizard控件,设置一下FinishDestinationPageUrl属性,该属性指示用户创建完成后,用户点击“继续”后定向的页面。 现在不做任何设置,在vs2005的中design视图中可以看到测试一下先!提交,出现下原创 2009-09-28 15:15:00 · 671 阅读 · 0 评论 -
petshop4.0 详解之六(PetShop表示层设计)
表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了客户的需求,却仍然难以讨得客户的欢心。俗语云:“佛要金装,人要衣装”,转载 2009-09-27 11:50:00 · 414 阅读 · 0 评论 -
C#索引器
索引器概述 索引器使得对象可按照与数组相似的方法进行索引。get 访问器返回值。set 访问器分配值。this 关键字用于定义索引器。value 关键字用于定义由 set 索引器分配的值。索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。索引器可被重载。索引器可以有多个形参,例如当访问二维数组时。C#语言一个最令人感兴趣的地方就是类的索引器(index原创 2009-10-11 17:42:00 · 648 阅读 · 1 评论 -
C#抽象类与接口的比较
一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点原创 2009-10-09 18:44:00 · 1385 阅读 · 4 评论 -
“从数据库检索信息时发生错误:‘Microsoft.VisualStudio.DataDesign.SyncDesigner.SyncFacade.SyncTableConfigManager’ 的类型初始值设定项引发异常。”的解决办法
visual studio能正常链接数据库,使用BindingSource控件,设置DataSource属性,添加项目数据源时,出现了问题。“在数据源配置向导”对话框的倒数第二步,出现了一个异常,原文如下“从数据库检索信息时发生错误:‘Microsoft.VisualStudio.DataDesign.SyncDesigner.SyncFacade.SyncTableConfigManag原创 2009-10-22 09:41:00 · 2558 阅读 · 6 评论 -
学习LINQ工具:LINQPad
LINQPad 是一个很好的学习LINQ的工具,包含《C# 3.0 in a Nutshell》一书中200个示例,可以使用LINQPad感受LINQ的超酷功能和函数编程。LINQPad 是完全免费的,无需安装,下载之后直接可以运行,只有2.12 MB大小。LINQPad 需要先安装.NET Framework 3.5,支持 SQL Express、SQL 2000、 SQL 2005和SQL 2原创 2009-10-26 10:01:00 · 1029 阅读 · 0 评论 -
URL重写有几种方式:
1).通过 HttpContext 类的 RewriteUrl() 方法来执行 URL 重写;2).通过自定义HTTP Module或 HTTP Handler来重写 URL;3).借助正则表达式来重写URL:理解重写的方式:创建自定义 HTTP 模块和 HTTP 处理程序是相对简单的任务,包括创建实现正确接口的托管类。HTTP 模块必须实现 System.Web.IHttpMod原创 2010-02-24 13:19:00 · 4869 阅读 · 6 评论 -
ASP.NET面试题:ListView扩展
公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路 ?直接放上代码:using System;using System.Collections.Generic;using Syste原创 2010-02-25 17:10:00 · 2633 阅读 · 0 评论 -
在安装SQL Server2005 问题信息:
"SQL Server 安装程序无法获取 ASPNET 帐户的系统帐户信息"解决办法:用aspnet_regiis实用工具卸载和重新安装一下就可以了。具体的操作:1、进入CMD:C:/windows/microsoft.net/framework/v2.0.50727文件夹下,运行aspnet_regiis -u卸载然后运行aspnet_regiis -i 重新安装,上述问原创 2009-12-30 09:00:00 · 555 阅读 · 0 评论 -
Http头信息详解
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参 考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错原创 2010-03-17 08:59:00 · 617 阅读 · 0 评论 -
HTTP协议头详解 (2)
Last-modified实体头应答头 说明 Allow 服务器支持哪些请求方法(如GET、POST等)。Content-Encoding文 档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的 下载时间。Java的GZIPOutputStream可以原创 2010-03-17 09:04:00 · 900 阅读 · 0 评论 -
SSO英文全称Single Sign On 即单点登录
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 SSO技术实现机制 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份原创 2010-03-24 19:47:00 · 1430 阅读 · 0 评论 -
深入了解网站中的静态网页和动态网页的相关知识
根据网站的数据管理模式和应用技术,可以将网站分为静态网站和动态网站。要理解静态网站与动态网站,首先应当理解静态网页与动态网页。静态网页在网站中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页组成的。静态网页的网址形式通常为:www.example.com/eg/eg.htm,也就是以.htm、.html、.shtml、.xml等为后缀的网页。在HTML格式的网页上,也可转载 2010-03-28 14:28:00 · 2390 阅读 · 0 评论 -
谈谈网站静态化
写在前头静态化是解决减轻网站压力,提高网站访问速度的常用方案,但在强调交互的We2.0 时代,对静态化提出了更高的要求,静态不仅要能静,还要能动,下面我通过一个项目,谈谈网站静态化后的架构设计方案,同时和大家探讨一下,在开源产品大行其道,言架构必称MemberCache, Nginx,的时代,微软技术在网站架构设计中的运用.静态化的设计原则和步骤静态化是解决减轻网站压力,但是静态化也会带来一系转载 2010-03-28 15:16:00 · 955 阅读 · 0 评论 -
架构师害怕程序员知道的十项技能
一 每个好架构师都是一位出色的程序员(卓越的程序员)架构师,听起来是如此神秘的一个称号。尤其是在开发领域刚入门不久的菜鸟级程序员眼中,架构师都是高手,都是牛人,都是如此高高在上的存在。 不过,在搞了四、五年编程之后,程序员们往往早已失去了当年对这些“高级”职位的神秘感,甚至会对自己所在项目的架构师抱怨不已,背后里称他们是一群水王。所以有江南白衣曾撰文述说:“国内的架构师到了三十岁以后很多就往理论上原创 2010-05-03 22:10:00 · 5395 阅读 · 1 评论 -
.net面试题之简要地写出一个.NET Remoting的示例
【考点】.NET Remoting程序的原理,.NET Remoting的基本编写方法。【出现频率】★★☆☆☆【解答】在VS 2008中添加新的类库项目,并命名为NetRmClass,将所属解决方案命名为NetRm,勾选“创建解决方案的目录”。这样,NetRmClass类库项目目录即属于NetRm解决方案,并可以继续向该解决方案添加更多的其他相关项目。类库项目在这里仅用于创建一个远程对象的类,将项原创 2010-02-24 12:19:00 · 1081 阅读 · 0 评论 -
.net面试题之WCF技术有什么优势
WCF技术有什么优势【考点】对WCF技术的了解,WCF技术的基本内容。【出现频率】★★☆☆☆【解答】常用的分布式技术有COM+、.NET远程技术(Remoting)、Web Service和微软消息队列服务,WCF技术将这些分布式技术整合为一个高效的API。常用的那些分布式技术只能解决项目开发中某个方面的问题,并且不同技术对平台要求不同。在项目中有时要使用到多种技术从而导致这些技术所提供的服务有重原创 2010-02-24 12:17:00 · 4645 阅读 · 1 评论 -
什么是受管制的代码
其实整个.NET项目都是运行在.NET Framework上的托管代码,这个道理和JAVA虚拟机的机制是类似的。 最简单的说呢,受托管的代码不能直接写内存,是安全的,而非托管代码是非安全代码,可以使用指针操作内存。 一般的项目使用托管代码都行了,也就是说在程序里面不需要用到非安全代码。 对于一些对速度要求高的部分功能可以考虑使用非安全代码,使用指针等读写内存,而对于真个项目来说还是受托原创 2010-02-23 10:20:00 · 7161 阅读 · 2 评论 -
强命名程序集
强命名程序集的缘由: 目前Windows中出现的DLL Hell问题(两个不同的公司可能开发处具有相同名称的程序集,如果将相同名称的程序集放置到同一个目录下,则会出现程序集覆盖现象,最后安装的程序集会覆盖前面的程序集,从而可能导致应用序不能正常运行)。由此看来,仅靠名称来区分程序集是不足够的。CLR采取了强命名程序集的方式来唯一的表示程序集。强命名程序集包含四个标识:名称,版本号,原创 2009-11-09 10:07:00 · 1076 阅读 · 1 评论 -
项目所需的应用程序未安装,确保已安装项目类型(.csproj)的应用程序的解决办法
安装上sqlserver2005以后,打开程序时总报这个错误,后来解决了,但是现在学生都有这个问题,觉的有必要拿出来讲一下了:试用vs打开一个决绝方案时出错,如下图所示:产生这个的原因其实也很简单,细心的读者如果打开这个文件的话,从列表中选择打开方式的时候就会发现项目文件的打开方式已经不是visual studio了,而是Micrisoft visual studio version原创 2009-11-16 10:05:00 · 3208 阅读 · 5 评论 -
Web服务器The specified module could not be found错误解决方法
Internet Information Server的缩写为(IIS)是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JAVA、VBscript产生页面,有着一些扩展功能。IIS支持一些有趣的东西,象有编辑环境的界面(FRONTPAGE)、有全文检原创 2009-12-08 11:36:00 · 9584 阅读 · 16 评论 -
c#各种排序算法
public class Sorter { /// /// 冒泡排序法1 /// /// public static void BubbleSort(int[] list) { for (int i = 0; i原创 2010-02-22 18:54:00 · 1850 阅读 · 0 评论 -
存储过程入门到精通
①为什么要使用存储过程? 因为它比SQL语句执行快. ②存储过程是晨依网什么? 把它们勱一堆SQL语句罗在一起,还可以根据条件执行不同的http://www.54361.cn/SQL语句 ③来一个HTML最简单的http://www.54361.cn/存储过程 CREATE PROCEDURE dbo.testProcedure_AX AS select userID from USERS ord原创 2010-02-21 17:44:00 · 927 阅读 · 0 评论