自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

转载 FCKeditor 上传自动重命名、按月创建文件夹和基本操作

现在做的项目,用到了编辑器,而FCK都出到了2.6.3所以就把他改成自己想要的,发现跟原来的不一样了,还要重新找,现在就把过程发给大家分享一下吧!一、自定义 FCKeditor 的 BasePathBasePath 即FCKeditor在网站中的相对路径,默认值是 /fckeditor/,最好在Web.config appSettings中对其进行配置:<add...

2009-12-10 16:03:00 152

转载 媒体盘点春晚奥斯卡 各个获奖人物

为春晚“奥斯卡”开奖最让人感动的还是春晚的那道“招牌菜”咳嗽着演小品,赵本山是真的憋不住了昨晚8点,央视春晚准时拉开序幕。比起往年,这次春节晚会更具创新意识,无论是周杰伦和宋祖英的组合,还是蔡明、郭达的小品都融合了众多流行元素,吸引了大量年轻观众。本山大叔依旧搞笑,“天宫一号”令人感动。现在,我们就给春晚“奥斯卡”办个颁奖礼,看看春晚的“大腕”们都获得了哪些奖项。特...

2009-01-26 09:24:00 599

转载 .Net修改页面的keywords、description和title

首先在web.config里配置一下(为了维护的方便性):<appSettings><addkey="title"value="H2Blog"/><addkey="keywords"value="H2Blog,博客系统,.Net开源博客"/><addkey="de...

2008-11-19 21:59:00 165

转载 c#日期时间的操作的函数总结

当前日期时间的获取:DateTime datetime1=DateTime.Now;日期时间的运算:string str1=(datetime1.AddYears(1)).ToString(); //加年份string str1=(datetime1.AddMonths(1)).ToString();//加月份string str1=(datetime1.AddDa...

2008-11-16 21:31:00 127

转载 Javascript控制文本框只能输入数字

<input onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="retur...

2008-11-16 16:48:00 58

转载 Effective C# 为C# 2.0做准备

C#2.0,在2005年已经可以使用了,它有一些主要的新功能。这样使得目前使用的一些最好的实际经验可能会有所改变,这也会随着下一代工具的发布而修改。尽管目前你还可以不使用这些功能,但你应该这些做些准备。当Visual Studio .net2005发布后,会得到一个新的开发环境,升级的C#语言。附加到这门语言上的内容确实让你成为更有工作效率的开发者:你将可以写更好重用的代码,以及...

2008-11-15 11:56:00 59

转载 Effective C# 了解ECMA标准

ECMA标准是C#语言所有功能的官方说明。ECMA-334定义了C#语言1.0的标准,你可以从The C# Programming Language这本书上学习C#2.0的计划(译注:现在已经不是计划了),这本书的作者是Anders Hejlsberg, Scott Wiltamuth, 和 Peter Golde (Addison-Wesley, 2003)。这本书是一个语言手册,而不...

2008-11-15 11:53:00 278

转载 Effective C# 掌握相关工具与资源

对于C#以及.Net来说这是激动人心的时候。这些工具目前还是比较新的,整个社区都在学习如何使用这些工具。一些资源可以帮助你提高你的知识,以及为.Net和C#创建一个更大的知识社区。这些工具是我每天都向C#开发人员推荐的。关于C#实践的全部内容还在写作当中,跟进它们而且不断了解相关的内容。第一个应该在每一个C#开发人员的工具箱的工具是NUnit, 它可以在http://www.nu...

2008-11-15 11:52:00 45

转载 Effective C# 优先选择安全代码

.Net运行时已经设计好了,一些怀有恶意的代码不能渗透到远程计算机上并执行。目前一些分部式系统依懒于从远程机器上下载和执行代码。如果你可以通过Internet或者以太网来发布你的软件,或者直接从web上运行,但你须要明白CRL在你的程序集中的一些限制。如果CLR不是完全相信一个程序集,它会限制一些的行为。这些调用代码要有访问安全认证(CAS)。从另一方面来说,CLR强制要求基于角色的安全...

2008-11-14 13:59:00 44

转载 Effective C# 优先选择强异常安全保证

当你抛出异常时,你就在应用程序中引入了一个中断事件。而且危机到程序的控制流程。使得期望的行为不能发生。更糟糕的是,你还要把清理工作留给最终写代码捕获了异常的程序员。而当一个异常发生时,如果你可以从你所管理的程序状态中直接捕获,那么你还可以采取一些有效的方法。谢天谢地,C#社区不须要创建自己的异常安全策略,C++社区里的人已经为我们完成了所有的艰巨的工作。以Tom Cargill的文章开头...

2008-11-14 09:03:00 101

转载 Effective C# 为应用程序创建特定的异常类

异常是一种的报告错误的机制,它可以在远离错误发生的地方进行处理错误。所有关于错误发生的的信息必须包含在异常对象中。在错误发生的过程中,你可能想把底层的错误转化成详细的应用程序错误,而且不丢失关于错误的任何信息。你须要仔细考虑关于如何在C#应用程序中创建特殊的异常类。第一步就是要理解什么时候以及为什么要创建新的异常类,以及如何构造继承的异常信息。当开发者使用你的库来写catch语句时,他们...

2008-11-13 18:22:00 48

转载 Effective C# DataSet优于自定义结构

因为两个原则,把DataSet的名声搞的不好。首先就是使用XML序列化的DataSet与其它的非.Net代码进行交互时不方便。如果在Web服务的API中使用DataSet时,在与其它没有使用.Net框架的系统进行交互时会相当困难。其次,它是一个很一般的容器。你可以通过欺骗.Net框架里的一些安全类型来错误DataSet。但在现代软件系统中,DataSet还可以解决很多常规的问题。如果你明...

2008-11-13 13:48:00 74

转载 Effective C# 利用特性简化反射

当你创建了一个与反射相关的系统时,你应该为你自己的类型,方法,以及属性定义一些自己的特性,这样可以让它们更容易的被访问。自定义的特性标示了你想让这些方法在运行时如何被使用。特性可以测试一些目标对象上的属性。测试这些属性可以最小化因为反射时可能而产生的类型错误。 假设你须要创建一个机制,用于在运行时的软件上添加一个菜单条目到一个命令句柄上。这个须要很简单:放一个程序集...

2008-11-12 14:14:00 49

转载 Effective C# 避免过度使用反射

创建二进制的组件时,同时也意味着你要使用迟后绑定和反射来查找你所须要的具有特殊功能代码。反射是一个很有力的工具,而且它让你可以写出可动态配置的软件。使用反射,一个应用程序可以通过添加新的组件来更新功能,而这些组件是在软件最开始发布时没有的。这是有利的。 这一灵活性也带来了一些复杂的问题,而且复杂问题的增加又会增加出现其它问题的可能。当你使用反射时,你是围绕着C#的安全类...

2008-11-12 08:45:00 94

转载 Effective C# 根据需要选用恰当的集合

如果要问 “哪种集合是最好的?”我的回答是:“视需要而定。”不同的集合有不同的功能特性,并且针对其行为的不同进行了优化。.Net Framework支持许多相似的集合:列表、数组、队列、栈等等。另外,C#支持多维数组,其性能特点不同于其它的一维数组或者交错数组。.Net Framework中还包含了很多专门化的集合,你可以回顾一下以前创建的程序中用到的那些集合。由于所有的集合都实现了IC...

2008-11-11 21:15:00 47

转载 Effective C# 使用.NET验证

用户的输入可能是多种多样的:你必须在交互式的控件中尽可能的验证输入。写一些用户输入验证可能很做作,而且也有出错的可能,但还是很有必要的。不能太相信用户的输入,用户可能会输入任何内容导致异常发生,进而进行SQL注入式攻击。我们不希望任何类似这样的事情发生。你应该了解足够的信息来怀疑用户的输入。很好,每个人都应该这样做,这也就是为什么.Net框架已经扩展了这样的功能,你可以使用这些功能从而使...

2008-11-11 20:17:00 55

转载 Effective C# 定制和支持数据绑定

有经验的Windows程序员一定对写代码从一个控件上取值,以及把值存储到控件上很熟悉:publicForm1:Form{privateMyTypemyDataValue;privateTextBoxtextBoxName;privatevoidInitializeComponent(){textBoxName.Tex...

2008-11-11 13:59:00 50

转载 Effective C# 使用标准配置机制

我们要寻求一种避免直接写代码的应用程序配置和信息设置方法,我们已经创建了多种不同的策略来存储配置信息。而我们是要寻求一种正确的方法,我们要不断提高和改我们的想法,关于哪里是放置这些信息的好地方。INI文件?这是Windows3.1做的事,配置信息的结构是受限制的,而且在文件名上可能还会与其它程序程序相冲突。注册表?是的,是这个正确的想法,但它也有它的限制。乱七八糟的程序可能会通过在注册表...

2008-11-08 08:57:00 55

转载 Effective C# 合理使用.NET运行时诊断

当有问题发生时,它们往往并不是在实验的时候发生的,机器有轻松调试的工具。在很多实际情况中,你不好修正的问题总是发生在用户的机器上,那里没有调试环境,也没有好的方法计算出问题的情况。在实际情况中,有经验的开发人员会创建一个方法,让系统在运行时捕获尽可能多的信息。.Net框架已经包含一些类集合,利用这些集合,你可以做一些通用的调试。而且这些类可以在运行时或者编译时进行配置。如果你利用它们,你...

2008-11-08 08:56:00 66

转载 Effective C# 重写优于事件处理器

许多.net类库中的类都提供了两种不同的处理事件句柄的方法。既可以为其添加事件,也可以重写其基类的事件抽象方法。为什么要为同一件事提供两种不同的方法呢?这是为了对应不同的情况。在实现派生类的时候,更好的选择是重写基类中的抽象方法。 假设我们现在正在编写一个windows应用程序,这个程序需要对鼠标按键按下的事件做出响应。在自定义的Form类中,我们可以选择重写OnMou...

2008-11-06 13:31:00 60

转载 Effective C# 创建大粒度的Web API

通信协议的开销与麻烦就是对数据媒体的如何使用。在通信过程中可能要不同的使用媒体,例如电话,传真,地址,和电子邮件。让我们再回头来看看上次的订购情况,当你用电话订购时,你要回答售货员的一系列问题:“你可以把第一项填一下吗?”“这一项的号码是123-456”"您想订购多少呢?""三件" 这样的问题一直要问到销售人员填写完所有的信息为止,例如还...

2008-11-06 13:29:00 67

转载 显示TEXTAREA文本框剩余字数

<scripttype="text/javascript"language="javascript">functiontextCounter(field,maxlimit){if(document.getElementById(field).value.length>maxlimit...

2008-11-04 19:39:00 136

转载 Effective C# 限制类型的可见性

并不是所有的人都须要知道所有的事。也不是所有的类型须要是公共的。对于每个类型,在满足功能的情况下,应该尽可能的限制访问级别。而且这些访问级别往往比你想像的要少得多。在一个私有类型上,所有的用户都可以通过一个公共的接口来访问这个接口所定义的功能。 让我们回到最根本的情况上来:强大的工具和懒惰的开发人员。VS.net对于他们来说是一个伟大的高产工具。我用VS.net或者...

2008-11-04 09:31:00 60

转载 Effective C# 尽可能实现小尺寸、高内聚的程序集

这一条款实际应该取这个名字:“应该创建大小合理而且包含少量公共类型的程序集”。但这太沉长了,所以就以我认为最常见的错误来命名:开发人员总是把所有的东西,除了厨房里水沟以外(译注:夸张说法,kitchen sink可能是个口语词,没能查到是什么意思,所以就直译了。),都放到一个程序集。这不利于重用其中的组件,也不利于系统中小部份的更新。很多以二进制组件形式存在的小程序集可以让这些都变得简单...

2008-11-04 09:28:00 56

转载 Effective C# 尽可能实现短小简洁的函数

对于有经验的程序员来说,不论在接触C#之前使用什么语言,都有一些提高代码效率的方法。不过有些做法虽然在之前的语言中有效,但在.Net环境中却适得其反。 这一点在我们尝试手动为C#编译器优化算法时尤为明显。我们的举动往往使得JIT编译无法做出更加有效的优化。那些以优化为目的的工作,结果往往是生成更慢的代码。我们完全不必追求创建最直截了当的代码,有些工作完全可以交给编译器完...

2008-11-03 17:36:00 74

转载 Effective C# 只有当新版基类导致问题时才考虑使用new修饰符

我们一般在类成员上使用new修饰符,来重新定义继承自基类的非虚成员。我们可以这么做并不意味着我们就应该这么做。重新定义非虚方法会导致含混不清的行为。例如,对于下面的代码,绝大多数开发人员都会不假思索地认为它们的行为是一样的(假设两个类有继承关系):objectc=MakeObject();//通过MyClass引用调用:MyClasscl=cas...

2008-11-02 08:47:00 58

转载 Effective C# 避免强制转换操作符

转换操作符为类之间引入了一层“替换性(substitutability)”。“替换”意味着一个类的实例可以被替换为另一个类的实例。这对我们来说可以是一种好处:一个派生类的对象可以被当做一个基类对象来使用。例如在经典的Shape类层次中,我们可以创建一个Shape(形状)基类,并派生出许多子类:Rectangle(长方形)、Ellipse(椭圆)、Circle(圆)等。在任何需要S...

2008-11-01 18:23:00 129

转载 海量数据库的查询优化及分页算法方案

随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量。那么,如何实现快速地从这些超大容量的数据库中提取数据(查询)、分析、统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理员亟...

2008-10-31 11:13:00 83

转载 Effective C# 避免ICloneable接口

ICloneable 听起来是个好主意:可以为那些支持复制的类型实现ICloneable接口。如果不想支持复制,那就不要实现它。但是我们的类型并非活在真空中。让一个类型支持ICloneable接口会影响它的派生类。一旦类型支持ICloneable接口,那么它所有的派生类也都必须支持它。而且,其所有成员类型也都要支持ICloneable接口,或者有其他创建复制的机制。最后,当我们设计的类型...

2008-10-31 10:55:00 54

转载 Effective C# 使用IComparable和IComparer接口实现排序关系

有时候,我们的类型需要排序关系来支持它们在集合中的排序和搜索。.NET框架定义了两个接口来描述类型的排序关系:IComparable和IComparer。IComparable接口定义了类型的自然排序方式。IComparer则为类型提供了另外的排序方式。我们可以为类型实现各种关系操作符(<、>、<=、>=)来提供特定于类型的比较操作,从而避免接口实现所带来的运行时...

2008-10-30 18:55:00 87

转载 Effective C# 尽可能将类型实现为可序列化的类型

持久化(persistence)是类型的一个核心特性。这种特性往往是在我们忽略支持它们的时候,才会被注意到。如果我们的类型没有正确地支持序列化(serialization),那么其他开发人员在使用我们的类型作为成员或者基类的时候将有许多工作要做。他们必须自己实现这样的标准特性。如果不访问类型的私有实现细节,要想为类型正确实现序列化几乎是不可能的。如果我们自己不支持序列化,让类的用户来添加...

2008-10-30 10:16:00 131

转载 Web Service学习笔记:动态调用WebService

多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我们可能需要在程序运行期间动态调用一个未知的服务。在 .NET Framework 的 System.Web.Services.Description 命名空间中有我们需要的东西。具体步骤:1. 从目标 URL 下载 WSDL 数据。2. 使用 Service...

2008-10-29 16:31:00 169

转载 Effective C# 声明式编程优于命令式编程

和命令式编程相比,声明式编程可能是一种更简单、更精炼的描述软件程序行为的方式。声明式(declarative)编程意味着使用声明、而非指令的方式来定义程序的行为。和许多其他程序语言一样,C# 中绝大多数编程都是命令式(imperative)编程:通过编写方法来定义程序的行为。通过使用特性(attribute),我们也可以在C#中实现声明式编程。我们可以将特性应用在类、属性、数据成员或者方...

2008-10-29 16:05:00 141

转载 Effective C# 避免返回内部类对象的引用

大家可能认为只读属性就只能读取,调用者不可能更改属性值。可惜的是,并非所有情况都如此。如果我们创建的属性返回了一个引用类型,那么调用者就可以访问该对象的公有成员,包括那些修改属性状态的成员。例如:publicclassMyBusinessObject{//只读属性提供了对私有数据成员的访问:privateDataSet_ds;pub...

2008-10-28 18:34:00 95

转载 ASP.NET 进度条

1. 进度条模板文件 ProgressBar.htm1<html>2<head>3<title></title>4<scriptlanguage="javascript">5//设置进度条进度6functionSetPorgressBar(msg,pos)7{...

2008-10-27 19:45:00 82

转载 AspNetPager的使用

下面把方法说明一下。 1.将AspNetPager控件放入工具箱的方法是右键点击工具箱,选择添加项目,然后刘览相关dll文件。2.控件外观的设定 <webdiyer:AspNetPager ID="AspNetPager1" runat="server" UrlPaging="true" PageSize="5" ShowCustomInfoSec...

2008-10-27 19:42:00 98

转载 Effective C# 使用时间定义外发接口

事件为类型定义了外发接口(outgoing interface)。C#的事件建立在委托之上,委托为事件处理器(event handler)提供了类型安全的函数签名。由于绝大多数使用委托的例子都是事件,一些开发人员便开始认为事件和委托是同一种东西。在条款21中,我向大家展示了“可以使用委托,但却没有定义事件”的例子。当我们的类型必须和多个客户通信,并为它们提供系统中的行为通知时,我们才应该...

2008-10-27 18:37:00 91

转载 Effective C# 用委托实现回调

委托属于C#中的新名词,它的应用也非常广泛,例如事件就是委托最简单而又直接的例子。那么首先说说什么是委托,其实委托在用过C或者C++的人看来就是函数指针,不过使用C#的大多数人都没有用过这两门语言,因此对委托的理解不是很深,对于委托可以简单的从字面去理解,即“委托别人去执行某些操作”,也就是说执行一个操作,而这个操作过程自身并不知道,只是委托过来让你去执行而已。参看如...

2008-10-26 13:15:00 62

转载 Effective C# 区分接口实现与虚函数重载

本文的英文标题为“Distinguish Between Implementing Interfaces and Overriding Virtual Functions”,但是文章的内容主要涉及的是如何在多层继承中使用接口,因此觉得文章标题和内容有些不符(也许我水平比较低,无法真正理解文章的内容)。众所周知,在一个类中对接口所定义方法的实现,默认是不会加上“virtual”关键...

2008-10-26 13:12:00 64

转载 Effective C# 推荐在继承中使用接口

.Net提供了接口,这个不同于Class或者Struct的类型定义。接口有些情况,看似和抽象类一样,因此有些人认为在.Net可以完全用接口来替换抽象类。其实不然,接口和抽象类各有长处和缺陷,因此往往在应用当中,两者要结合来使用,从而互补长短。接下来先说说抽象类和接口的区别。区别一,两者表达的概念不一样。抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来...

2008-10-26 13:07:00 63

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除