
.NET Frame Work最佳实践
文章平均质量分 78
tongdoudpj
本人喜欢编程,闲时狂热钓鱼。
展开
-
PetShop 4.0 设计研究——petShop 4.0 的命名空间 以及各个项目模块的说明
序号 项目名称 程序集名称Assembly Name 默认命名空间Default Namespace转载 2007-06-26 11:31:00 · 630 阅读 · 0 评论 -
PetShop之ASP.NET缓存
四 PetShop之ASP.NET缓存如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用Cache存储CPU访问概率高的那些数据,当CPU需要访问这些数据时,可以直接转载 2007-06-26 12:09:00 · 693 阅读 · 0 评论 -
每个.Net开发人员应该下载的十种必备工具
• 用于编写单元测试的 NUnit• 用于创建代码文档资料的 NDoc• 用于生成解决方案的 NAnt• 用于生成代码的 CodeSmith• 用于监视代码的 FxCop• 用于编译少量代码的 Snippet Compiler• 两种不同的转换器工具:ASP.NET 版本转换器和 Visual Studio .NET 项目转换器• 用于生成正则表达式的 Regulator• 用于分析程序集的 .N转载 2007-07-02 09:12:00 · 580 阅读 · 0 评论 -
集成技术:.NET单挑J2EE
关于集成技术方面,我本不想比较,其实所有的开发者都明白一个道理,微软的开发平台天生就具有集成的优势,其实不用战斗,这场战役已经胜负明晰了,.NET身出名门,它在这场战斗胜利,我想很多人不会持太大的歧义,那么就让我们来看看.NET在哪些方面胜过J2EE的。 虽然我是个Java狂热者,在Java开发这三年多时间里,它给了我很多的快乐和收获,至少在生活,我可以用他来维持生计,但是今天我不得转载 2007-07-02 09:16:00 · 790 阅读 · 0 评论 -
微软在动态语言支持上超越了Java?
当.NET在2000/2001年第一次发布的时候,Java社区认为它仅仅是从语言以及标准库上对Java的一个“克隆”。我们把二者的简单实例代码进行比较以后就可以很轻易地得出这样一个感受。不过,微软从它多年的Java经验中获益匪浅,并且成功解决了一些Sun现在才后知后觉的问题。Java社区也有人开始认为,.NET和CLR要比Java发展得更加快速。Neil Bartlett称:我认为微软在CLR转载 2007-07-02 23:11:00 · 812 阅读 · 0 评论 -
2007必须学习的10项.NET技术
1、WCF (Windows Communication Foundation):虽然WCF显然没有WPF或SilverLight那么吸引人,但是它却是在.NET框架下解决业务问题的基础。所以你今年至少要学习一门.NET的新技术,那你就选择WCF吧。 2、ADO.NET (and LINQ):这是让你与数据层打交道的技术。并且LINQ提供了将各种数据组合起来的方法。如果以上两个转载 2007-07-02 23:15:00 · 621 阅读 · 0 评论 -
用Visual C#创建Windows服务程序
一.Windows服务介绍: Windows服务以前被称作NT服务,是一些运行在Windows NT、Windows 2000和Windows XP等操作系统下用户环境以外的程序。在以前,编写Windows服务程序需要程序员很强的C或C++功底。然而现在在Visual Studio.Net下,你可以运用C++或Visual C#或Visual Basic.Net很轻松的创建一个Windows转载 2007-07-19 16:58:00 · 611 阅读 · 0 评论 -
NET环境下水晶报表使用总结
水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单、易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家。 一、在使用自带的水晶报表时,请注册,否则只能使用30次水晶报表注册码注册号:6707437608密码:AAP5GKS0000GDE100DS 二、使用CrystalReportViewer进行预览CrystalReport转载 2007-07-24 09:56:00 · 586 阅读 · 0 评论 -
关于Blog日历的做法
昨天有朋友问我,如果在blog中实现日历效果?如果当天有日志,则显示链接,否则不显示链接?如果只是单纯使用.net中的Calendar控件、不用js来写,能实现么?答案是肯定的,那么如何去实现呢?首先,我们知道.net中的服务器控件是会进行Postback的,Calendar控件中的第一天在点击时,就会进行一次postback我们要做的就是改变它默认的链接,使它不触发postback事件,其次,就转载 2007-07-26 08:55:00 · 1099 阅读 · 0 评论 -
.NET2.0隐形的翅膀,正则表达式搜魂者
本文实现了:只能输入1个数字只能输入n个数字只能输入至少n个数字只能输入m到n个数字只能输入数字只能输入某个区间数字只能输入0和非0打头的数字只能输入实数只能输入n位小数的正实数只能输入m-n位小数的正实数只能输入非0的正整数只能输入非0的负整数只能输入n个字符只能输入英文字符只能输入大写英文字符只能输入小写英文字符只能输入英文字符+数字只能输入英文字符/数字/下划线密码举例验证首字母大写验证网址转载 2007-07-26 10:02:00 · 934 阅读 · 0 评论 -
如何封装JS和CSS文件封装为服务器端控件---ASP.NET 2.0
如何封装JS和CSS文件为服务器端控件---ASP.NET 2.0我们以封装一个JS的日期控件为列子,将它和服务器的TextBox结合在一起做成一个服务器控件,以达到直接托上去就可以使用的效果。其实很简单,大家共同学习。先看看效果图:方法:首先:下载一个JS的日期组件,带封装。然后:建一个日期类文件CalendarBox.cs代码如下:using System;using System.Col转载 2007-07-28 21:39:00 · 936 阅读 · 0 评论 -
深入探讨.NET中的钩子技术
本文将讨论在.NET应用程序中全局系统钩子的使用。为此,我开发了一个可重用的类库并创建一个相应的示例程序。 图1 你可能注意到另外的关于使用系统钩子的文章。本文与之类似但是有重要的差别。这篇文章将讨论在.NET中使用全局系统钩子,而其它文章仅讨论本地系统钩子。这些思想是类似的,但是实现要求是不同的。 二、背景 如果你对Windows系统钩子的概念不熟悉,让我作一下简短的转载 2007-07-31 12:01:00 · 1006 阅读 · 0 评论 -
[你必须知道的.NET] 第三回:历史纠葛:特性和属性
本文将介绍以下内容: • 定制特性的基本概念和用法• 属性与特性的区别比较• 反射的简单介绍1. 引言attribute是.NET框架引入的有一技术亮点,因此我们有必要花点时间来了解本文的内容,走进一个发现attribute登堂入室的入口。因为.NET Framework中使用了大量的定制特性来完成代码约定,[Serializable]、[Flags]、[DllImport]、转载 2007-07-27 22:15:00 · 655 阅读 · 0 评论 -
[你必须知道的.NET] 第一回:恩怨情仇:is和as
本文将介绍以下内容: • 类型转换• is/as操作符小议 1. 引言 类型安全是.NET设计之初重点考虑的内容之一,对于程序设计者来说,完全把握系统数据的类型安全,经常是力不从心的问题。现在,这一切已经在微软大牛们的设计框架中为你解决了。在.NET中,一切类型都必须集成自System.Object类型,因此我们可以很容易的获得对象的准确类型,方法是:GetType()方法。那么.NE转载 2007-07-27 22:24:00 · 648 阅读 · 0 评论 -
NUnit2.0详细使用方法
前一段时间,有人问我在.NET里如何进行TDD开发.这个问题促使我想对NUnit做一个详细的介绍.因为我们大家都知道NUnit是在.NET进行TDD的利器.如果你已经知道很多关于NUnit的应用,请指出我的不对之处和提出一些建议,使本文更加完善.如果你对NUnit还不是很了解的话,我建议你还是阅读一下.本文分为以下部分:1. TDD的简介 首先什么是TDD呢?Kent Beck在他的>转载 2007-08-03 18:53:00 · 597 阅读 · 1 评论 -
.NET Framework 如何:提高性能
以下编程做法可以节省内存和改善设备应用程序的性能。使用 Windows 窗体和图形节省内存 对提供 BeginUpdate 和 EndUpdate 方法的控件使用这两种方法,提供这两种方法的控件包括 ComboBox、ListBox、ListView、ToolStripComboBox 和 TreeView。 重新定位控件时,使用转载 2007-08-06 11:39:00 · 945 阅读 · 0 评论 -
Visual C# 资源文件编程--使用资源文件
本文将接着上篇文章的话题来探讨资源文件另外一个问题,在Visual C#如转载 2007-08-07 16:21:00 · 936 阅读 · 0 评论 -
.Net平台开发的技术规范与实践精华总结
以下是本人对.Net平台开发实践的一些点滴总结。这里的技术规范主要是开发过程的代码规范、数据库设计规范、Com和.Net互操作规范;实践精华是对技术实践过程中的部分总结。一、代码规范良好的代码风格来自于同一的代码规范。风格良好的代码不仅具备可读性和可维护性,同时也给人行云流水、赏心悦目之快感。据Microsoft公司统计,基于微软平台的开发中,有70-80%的印度工程师在完成同类算法或转载 2007-08-07 22:08:00 · 604 阅读 · 1 评论 -
Winform中多国语言窗体的设计以及.NET中资源文件的使用
最近在做一些多国语言的软件,就学习了一下.NET中的多国语言相应知识,受益不少,下面我就简单介绍一下winform中关于多国语言的实现方法。分为七个部分来讲:资源文件概述、资源文件的分类、资源文件的创建、利用IDE来制作多国语言版本、利用资源文件来做多国语言版本、常用.NET资源文件生成器的使用和总结这七个部分。前两个部分都是一些理论性的东西,如果大家不感兴趣可以跳过,直接看三、四、五这转载 2007-08-07 22:23:00 · 1275 阅读 · 0 评论 -
提升windows forms应用速度的几个简单方法
整理中,欢迎大家补充一 ngen /gac将assembly放到gac中,并用ngen 预先编译, 应用程序装入会成n倍的提升虽然ngen 有一大堆缺点,但windows forms应用,启动速度很重要,在实践中,我建议如下使用ngen1. 只对不常变的 assembly进行ngen ,通常,这都是第三方的dll ,比方说第三方的ui控件,像devexpress或是janus的组件2. 明确ass转载 2007-08-06 12:06:00 · 834 阅读 · 0 评论 -
学习.Net的经典网站
原文——名称:快速入门地址:http://chs.gotdotnet.com/quickstart/描述:本站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序,直接在网上查看此示例即看。****************************************************名称:微软官方.NET指导站点地址:http://www转载 2007-08-12 22:45:00 · 654 阅读 · 0 评论 -
ADO.NET实用经验无保留曝光 (二)
在DataSet中搜索数据 在DataSet中查询与特定条件相匹配的行时,可以利用基于索引的查找提高搜索性能。当将PrimaryKey值赋给DataTable时,会创建一个索引。当给DataTable创建DataView时,也会创建一个索引。下面是一些利用基于索引进行查找的技巧。 1) 如果对组成DataTable的PrimaryKey的列进行查询,要使用DataTable.Rows.Fi转载 2007-08-14 21:40:00 · 619 阅读 · 0 评论 -
ADO.NET实用经验无保留曝光 (三)
用多个表填充DataSet 如果使用批处理SQL语句检索多个表并填充DataSet,第一个表用指定给Fill方法的表名命名。后面的表用指定给Fill方法的表名加上一个从1开始并且增量为1的数字命名。例如,如果运行下面的代码: Visual Basic Dim da As SqlDataAdapter = New SqlDataA转载 2007-08-14 21:41:00 · 704 阅读 · 0 评论 -
ADO.NET实用经验无保留曝光(一)
ADO.NET作为微软最实用的数据访问技术,已经在企业开发中得到了广泛的应用。对于一线的开发人员来说,掌握基本的概念和技术之后,提高应用水平和解决实际问题的最有效手段,莫过于相互交流彼此的最佳时间经验经验。在这篇文章中,两位ADO.NET专家向读者毫无保留地、详尽地介绍了很多实用经验。 简介 本文为您提供了在Microsoft ADO.NET应用程序中实现和获得最佳性能、可伸缩性以及功能的转载 2007-08-14 21:38:00 · 671 阅读 · 0 评论 -
ADO.NET实用经验无保留曝光 (四)
如果想返回像Count(*)、Sum(Price)或Avg(Quantity)的结果那样的单值,可以使用Command.ExecuteScalar。ExecuteScalar返回第一行第一列的值,将结果集作为标量值返回。因为单独一步就能完成,所以ExecuteScalar不仅简化了代码,还提高了性能;要是使用DataReader就需要两步才能完成(即,ExecuteReader+取值)。 使用转载 2007-08-14 21:42:00 · 613 阅读 · 0 评论 -
反思.NET中的反射机制
清晰的组件化目标是否因在库间共享过多类型信息而落空?或许您需要高效的强类型化数据存储,但如果每次对象模型发展后都需要更新您的数据库架构,那会耗费很大成本,所以您更愿意在运行时推断出其类型架构吗?您需要交付能接受任意用户对象的组件,并以某种智能化的方式处理它们吗?您希望库的调方者能以编程方式向您说明它们的类型吗? 如果您发现自己在苦苦维持强类型化数据结构的同时,又冀望于最大化运行时灵活性,那转载 2007-08-17 22:23:00 · 738 阅读 · 0 评论 -
针对构架师的.NET 3.0介绍
微软.NET的最新版本,.NET Framework 3.0,为开发下一代业务解决方案软件系统开启了新的可能。它的设计目标是:提高生产力,降低基础设施复杂性,提供一个一致的元系统,让企业级服务、工作流解决方案和用户体验软件系统的开发更容易。在我和大量的构架师讨论的过程中,我听到解决方案构架师非常关心安全、开放的标准、互操作性、面向服务的构架、关键技术间的关系(例如Workflow Founda转载 2007-08-20 19:43:00 · 775 阅读 · 0 评论 -
Socket网络编程学习笔记(1):常用方法介绍
虽然天天上博客园欣赏各位“大侠”的杰作,偶然回首,突然发现自己已成“潜水者”久矣。本来对于自己有限的水平,有点不好意思在此发贴,不过潜伏久了,才慢慢意识到老是通过浏览他人的文章虽然能够提高自己能力,能够及时的获取新技术新思想,但却只能停留在他人的思想上。通过学习,加上自己的想法,再写出来,让大家来指证错误,不仅能够巩固自己的知识,也可以让一些跟我一样迷惘的朋友们不用再去走一些弯路,转载 2007-08-18 21:41:00 · 929 阅读 · 0 评论 -
Socket网络编程学习笔记(2):面向连接的Socket
在上一篇中,我列了一些常用的方法,可以说这些方法是一些辅助性的方法,对于分析网络中的主机属性非常有用。在这篇中,我将会介绍一下面向连接(TCP)socket编程,其中辅以实例,代码可供下载。 对于TCP的Socket编程,主要分二部分: 一、服务端Socket侦听: 服务端Socket侦听主要分以下几个步骤,按照以下几个步骤我们可以很方便的建立起一个Sock转载 2007-08-18 23:15:00 · 1055 阅读 · 0 评论 -
如何跨越线程调用窗体上的控件
用户不喜欢反应慢的程序。在执行耗时较长的操作时,使用多线程是明智之举,它可以提高程序 UI 的响应速度,使得一切运行显得更为快速。在 Windows 中进行多线程编程曾经是 C++ 开发人员的专属特权,但是现在,可以使用所有兼容 Microsoft .NET 的语言来编写。不过Windows 窗体体系结构对线程使用制定了严格的规则。如果只是编写单线程应用程序,则没必要知道这些规则,这是因为转载 2007-08-21 22:47:00 · 840 阅读 · 0 评论 -
多线程应用程序中调用窗体的一点心得
昨天自己编写一个多线程的程序,主要作用是TCP通迅的小程序,里面使用了多线程的技术,遇到一个有趣的问题:就是在工作线程中我调用了一个窗体,让它显示出来。如Form1 f=new Form1();f.show();这种代码平时一点问题都没有。但是在工作线程中却无法调过了。我的FORM1在桌面上动弹不得了。什么也不响应。有点象假死机的状态。后来我将Form1 f;这代码放到主线程里去实例化,一切转载 2007-08-21 22:50:00 · 786 阅读 · 0 评论 -
RIA大潮中,那种技术适合你?
前言 RIA技术介绍和优缺点 Ajax Flash/Flex/Laszlo Adobe AIR(Adobe Integrated Runtime) WPF(Windows Presentation Foundation) Microsoft Silverlight转载 2007-08-26 22:34:00 · 7021 阅读 · 5 评论 -
使用Vs2005打造简单分页浏览器
1 引言很早就有搞一个浏览器的想法了,在vs2003上就试图做过,苦于经常会有这种情况出现:当自治的浏览器遇到弹出窗口时无法捕获新的弹出窗口,于是乎新的弹出窗口仍旧用ie(或其他系统默认浏览器)打开,在研究vs2005的WebBrowser控件时发现有NewWindow事件,于是乎兴奋不已,决定用这个分页浏览器体验一下vs2005. 不过就在写这篇blog时突然想到在vs2003的那个axW转载 2007-08-24 22:39:00 · 716 阅读 · 0 评论 -
.NET Framework 2.0中新增的两个压缩类
.NET Framework 2.0 中新增的两个压缩类System.IO.Compression 命名空间 注意:此命名空间在 .NET Framework 2.0 版中是新增的。 System.IO.Compression 命名空间包含提供基本的流压缩和解压缩服务的类。 (downmoon原作) 类 说明 DeflateStr转载 2007-08-24 23:08:00 · 721 阅读 · 0 评论 -
多线程编程入门介绍
-----俺本菜鸟,只是最近程序中要用到多线程操作,看到这篇文章觉得对一些新手很有帮助,所以就把它翻译过来了。希望对广大编程新手有所帮助,如果有译得不妥之处,还望各位不吝板砖。最近有人问我工作线程同步的问题,我推荐通过设置事件来实现。此人回应道:你不能那样做,因为因为工作线程不支持消息泵(UI线程要求支持消息)。看来对此的困惑主要是大家对事件和消息的误解,这是两个Windows下不同的生命体。转载 2007-08-25 17:21:00 · 926 阅读 · 2 评论 -
ASP.NET 2.0中CSS失效的问题总结
经常有人遇到ASP.NET 2.0(ASP.NET 1.x中可能是有效的)中CSS失效的问题,现将主要原因和解决方法罗列如下:1,CSS文件路径不正确这个问题属于Web开发中的基础问题,一般采用相对路径会出现这样的问题,或者样式文件写在了母版页里面,在内容页与母版页不在同一级目录下时会出现这样的问题。此时你要清楚Web中相对路径的规则,如果你不清楚,可以采用绝对路径的写法试试就知道是不是路径的转载 2007-08-27 20:46:00 · 622 阅读 · 0 评论 -
ASP.NET中基类页的设计和使用
这儿的代码少了,但仍有问题,当查询条件变化后,每次拼查询语句的工作即枯燥又容易出错,那么我们加入一个Query类,以简化这儿的操作:public enum QueryOperator{ //等于比较。 Equal = 0, // 不等于 NotEqual = 1, // Like比较 Like = 6}class Query{ void Add(string fieldName, strin转载 2007-08-27 20:49:00 · 658 阅读 · 0 评论 -
让 .Net 程序 脱离 .net framework框架 运行的方法
.Net 框架目前逐步在普及了,仍然有很多人在寻找如何让.NET程序脱离.NET框架的方法。现成的工具有 Xenocode 的postbuidle或者vas,还有 Salamander .NET Linker .另外还有 MaxToCode 作者以前做的 framework linker. 以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等.最后还有某网友(应其要求隐去转载 2007-08-25 22:00:00 · 681 阅读 · 1 评论 -
如何在CodePlex 创建开源项目
CodePlex是微软的一个开源网站(http://www.codeplex.com/).开发人员可以在上面创建自己的开源项目.并对项目进行源代码版本控制和BUG/任务分配管理.CodePlex上使用的源代码管理软件是微软的Team Foundation Server来进行管理的.Team Foundation Server是微软内部使用的源代码管理软件.是Vss的替代品.其介绍: http://转载 2007-08-26 13:34:00 · 3000 阅读 · 0 评论 -
PetShop之表示层设计
六 PetShop之表示层设计表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如 果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了客户的需求,却仍 然难以讨得客户的转载 2007-06-01 15:54:00 · 1146 阅读 · 0 评论