随笔分类 - ASP.NET
摘要:最近由于在准备Collection对象培训的PPT,因为涉及到SyncRoot的属性的讲解,所以对怎样在多线程应用程序中同步资源访问做了个总结: 对于引用类型和非线程安全的资源的同步处理,有四种相关处理:lock关键字,监视器(Monitor), 同步事件和等待句柄, mutex类。 Lock关键字 本人愚钝,在以前编程中遇到lock的问题总是使用lock(this)一锁了之,出问题后翻...
阅读全文
摘要:接下来我们将讨论Windows NT/2000/XP操作系统架构下有关进程与线程的基本概念。必须牢记,上一章所介绍的CLR是在启动.NET程序集时,被运行时宿主载入进程的一个软件层。 5.1 简介 进程(process)是一块包含了某些资源的内存区域。操作系统利用进程把它的工作划分为一些功能单元。 进程中所包含的一个或多个执行单元称为线程(thread)。进程还拥有一个私有的虚拟地址空间,该空间...
阅读全文
摘要:本文将通过编写一个简单的示例程序,帮助刚接触NVelocity的新手快速掌握其基本的使用知识。 官方网站地址:http://www.castleproject.org/others/nvelocity/index.html 1. 在VS.Net2005中创建一个名为NVelocity.QuickStart的网站项目,并引用NVelocity.dll; 说明:NVelocity.dll 文件可以在...
阅读全文
摘要:创建一个模板控件需要下面几个步履:1.用ParseChildren特性标记控件类,使模板属性可以在HTML中进行设置2.为模板定义ITemplate类型的公有属性,并用TemplateContainer特性修饰该模板属性(指示运行时的容器类)3.使用InstantiateIn方法在模板容器中创建一个模板实例,把容器添加到服务器控件的控件集合中4.定义要和模板一起使用的容器类 下面是一个简单的模板控...
阅读全文
摘要:接口用于定义一组函数声明,任何继承了接口的类都要实现接口中的函数.接口中只能定义方法、属性、索引器和事件声明,所有这些声明都为public(不需要指示,并且不能为private,protected等) public interface IClass1{ object this[int index] { get; set;} string ClassName { get; set; } ...
阅读全文
摘要:(显示/隐式)转换编译器能够在基元类型之间进行隐式或显示转换 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Int32 i = 5;Int64 l = i; // 从Int32到Int64的隐式转换 如果两个类型之间的转换是"安全"的(安全是指...
阅读全文
摘要:定义枚举时可以指定基类型: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public enum AccountType : int{ Admin = 0, GM = 1, User = ...
阅读全文
摘要:当前标识(PC-GPMA\ASPNET)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处...
阅读全文
摘要:引用自:http://sifang2004.cnblogs.com/archive/2006/01/12/316313.html Attributes in C# 介绍 Attributes是一种新的描述信息,我们既可以使用attributes来定义设计期信息(例如 帮助文件,文档的URL),还可以用attributes定义运行时信息(例如,使XML中的元素与类的成员字段关联起来)。我们也可以用a...
阅读全文
摘要:实现IEnumerable接口的类,可以支持foreach循环遍历对象的集合元素IEnumerable: IEnumerator GetEnumerator() 返回可循环访问集合的枚举数。 IEnumerator: object Cur...
阅读全文
摘要:标准数字格式字符串 格式说明符 名称 说明 C 或 c 货币 ...
阅读全文
摘要:假定:string str1 = "Summary dascription for Class";string str2 = "Summary description for Clas1";字符串是否为空检查:1. str1.Length == 0 快2. str1 == String.Empty 慢3. str1 == "" 差字符串相等比较:1. str1.Equals(str2) 快2. S...
阅读全文
摘要:转载自:http://www.rainsts.net/article.asp?id=78在程序设计中我们经常会进行一些全局缓存设计,诸如使用静态或者全局根字段来引用某个对象,以便一次创建多次使用。如: class BigData { } class Program { static BigData cache; public static BigData DataCache...
阅读全文
摘要:引用:http://www.7dspace.com/doc/24/0603/20063604160336160.htmhttp://www.yesky.com/20030311/1656401_1.shtmlMSDN垃圾回收专题:http://msdn2.microsoft.com/zh-cn/library/0xy59wtx.aspx一般在.NET程序中创建的托管对象,都是可以依靠GC来自动回收...
阅读全文
摘要:除非纯粹的类型检查,否则使用as转换比is快 // is 转换object obj = GetReferent();if (obj is SomeType){ SomeType st = (SomeType)obj; ..}// as 转换SomeType st = obj as SomeType;if (st != null){ ..}
阅读全文
摘要:C#用委托来实现事件通知机制。对象开放事件,供调用者绑定事件处理函数。委托声明delegate void 函数名(参数表...); 事件声明event 委托类型 事件名;
阅读全文
摘要:示例代码: using System;class A{ public static int X; static A() { X = B.Y + 1; }}class B{ public static int Y = A.X + 1; static B() {} static void Main() { Console.WriteLine("X = {0}...
阅读全文
摘要:CustomValidator 示例 不是偶数!
阅读全文
摘要:序列化(serialization)就是把对象的当前状态(字段及其值)转换数据流,可以把得到的数据流存放到文件、数据库、内存或其它地方;然后在我们需要时,使用反序列化(deserialization)将对象恢复。在.Net中,要序列化一个对象,可以使用属性将类的元素标为可序列化的(Serializable)和不可被序列化的(NonSerialized)。通过SoapFormatter(基...
阅读全文