
.Net
文章平均质量分 79
phinecos
专注于开源技术的研究与应用
展开
-
多线程文件备份(VB.NET版)
原文链接:Multithreading Backup Utility 简介多线程迟早是我们要面对的一个东西,本文向你展示了一个简单的使用两个线程来拷贝文件的应用程序Backup将一个目录中文件拷贝到另一个目录中,它使用了一个线程来显示正被拷贝的文件名称,另一个线程用来在拷贝的文件的同时统计文件数目和文件夹数目。这就意味着在拷贝可以开始之前不用浪费时间去等待文件数目的统计原创 2008-06-11 10:49:00 · 1696 阅读 · 0 评论 -
FotoVision学习手记(3)
AboutForm十分简单,重写了继承自System.Windows.Forms.Form的OnLoad方法,而不采用AboutForm_Load来响应窗体的Load事件。using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Window原创 2006-10-03 12:01:00 · 717 阅读 · 0 评论 -
FotoVision学习手记(2)
默认情况下,Vs.net提供的控件即使在WinXp下运行,也不能获得XP风格的界面,因此,FotoVision里加入了一个Manifest文件。这是一个XML文件,这个文件明确指定了窗体控件使用的是版本为6.0的Comctl32.dll。这个dll文件中包含了一些新的控件以及一些控件的新特性,它最大的好处是支持控件外观的改变。 一般将Manifest文件放在可执行文件目录下,命名方原创 2006-10-02 01:01:00 · 661 阅读 · 0 评论 -
FotoVision学习手记(1)
注:本文翻译自微软官网的《FotoVision Desktop Application》FotoVision概述 有两种用户:拥有者和浏览者。前者在本地系统上使用桌面应用来修改和管理照片。当照片要发布时,可以通过桌面应用使用一个Web服务来同步Web站点上的文件。通过在SOAP头部中传递Credentials(证书)可以防止非授权用户修改站点上的照片。浏览者通过一个原创 2006-09-30 00:01:00 · 1128 阅读 · 0 评论 -
小议解耦合--应用设计模式
一直对设计模式究竟要什么时候用,如何用不是很清楚,但在以前写的代码中的很多地方,我都感觉代码总是写得很怪,很乱,可又不知道怎么去改。最近看了些文章,对设计模式有了些新的理解。 先举个自己做过的例子片段来讲。一个进销存系统中,订单管理要负责管理销售订单,采购订单的处理。下面是这订单的数据模型:(为了考虑简单着想,忽略了很多字段,也没有考虑订单详细子表等)原创 2006-09-29 17:01:00 · 1267 阅读 · 0 评论 -
Clickonce部署初体验
我们经常要面对的是对开发模式的选择,比如C/S模式和b/s模式。现在,很多人都似乎比较喜欢选择B/S模式进行web的开发,这其中的原因是很多的。但其中一点很重要的原因,那就是因为B/S开发的话,部署非常之容易,因为这样很容易实现"瘦客户端",客户端只需要使用浏览器就可以运行应用了。但B/S模式下开发的WEB应用,也有其不足之处,主要是由于功能实现起来,是没办法和传统的C/S模式下的wi原创 2006-09-26 00:01:00 · 3505 阅读 · 0 评论 -
《.Ne框架程序设计》随记(5)
实现Equals方式有3种不同的方式:1)为基类没有重写Object.Equals方法的引用类型实现Equalsclass MyRefType : BaseType { RefType refobj; // This field is a reference type. ValType valobj; // This field is a value type.原创 2006-09-06 23:01:00 · 662 阅读 · 0 评论 -
《.Ne框架程序设计》随记(4)
Public static void Main(){Int v = 4;Object o = v;V = 123Console.WriteLine(v+”,”+(int)o);}问:这段代码里有多少次装箱操作? 这里首先创建了一个未装箱的int值类型(v),并将其初始化为4,然后,又创建了一个Object引用类型(o),并希望将其指向v,但是因为引用类型必须指向托管堆中的原创 2006-09-06 17:01:00 · 650 阅读 · 0 评论 -
《.Ne框架程序设计》随记(3)
以往,每个应用程序进程都有自己的虚拟地址空间,通过地址空间的隔离来保证一个进程不会干扰另一个进程的运行。但通过验证托管代码,可以确保不会访问不该访问的内存,因此可以一个单独的虚拟地址空间内运行多个托管应用程序。由于太多的进程会占用过多的系统资源,损伤系统性能,并限制系统可用的资源。因此在一个进程中运行多个托管应用程序可以减少进程的数量,提高系统性能,降低资源需求,而同时应用程序仍然原创 2006-09-01 07:01:00 · 639 阅读 · 0 评论 -
《.Ne框架程序设计》随记(2)
CLR直接打交道的并不是托管模块,而是程序集(assembly). 程序集是一个或多个托管模块,以及一些资源文件的逻辑组合。其次,程序集是组件复用以及实施安全策略,版本策略的最小单位。它可以是一个或多个文件组成。 托管模块有其自身的元数据来描述自己包含的类型以及其引用的其他类型,而程序集中的清单(manifest)则描述了组成程序集的文件的信息。也可以这原创 2006-08-31 17:01:00 · 632 阅读 · 0 评论 -
《.Ne框架程序设计》随记(1)
.net是什么,这个问题确实很难回答?就连微软在描述它的时候也是含含糊糊的,为何呢?因为它确实内容太丰富了。它最吸引人也是它一直推崇的技术就是web服务了,这是指企业通过xml这种统一的文档格式,并且通过一定的业务逻辑编程接口来向外界提供所需信息,而这样的编程接口可以通过远程网络进行调用。.net平台就是关于人,信息,设备之间的互联的。就如同windows操作系统将应用程序对外部设备的原创 2006-08-31 06:01:00 · 726 阅读 · 0 评论 -
[老贴]《asp.net高级编程》读书笔记(2)
1.StringBuilder类:命名空间是:System.Text。StringBuilder类是个高效的类,StringBuilder.Append连接字符串的方法是非常快的。用于连接大量的字符串,其速度的优越性就会体现出来。.显示服务器的信息代码:private void Button1_Click(object sender, System.EventArgs e){原创 2006-08-13 15:02:00 · 725 阅读 · 0 评论 -
[老贴]《asp.net高级编程》读书笔记(1)
看了《asp.net高级编程》的前158页,下面是我的读书笔记:1.asp.net采用新的基于事件的编程模型,网页是完全编译的,使用丰富的服务器端控件,是.net framework的一部分。2.可以把一个普通的html控件变成服务器控件,只要将runat=”server”加入。例如:,这就可以在服务器端通过id引用这个控件,string firstName = FirstName原创 2006-08-13 15:02:00 · 848 阅读 · 0 评论 -
[老贴]Crystal Report 学习笔记(1)
学习资料:《用实例学 Crystal Report for Visual Studio.Net》章立民著1, Crystal Report for vs.net以Crystal Report8.0的架构为基础,为.net开发者提供完整的报表功能。特点有:1)跨多语言 ,c#,VC++.net,VB.Net都可以使用 2)可以替windows与web应用程序创建报表,更可以原创 2006-08-13 14:02:00 · 1650 阅读 · 0 评论 -
正则表达式构造与测试小工具(下)
不多说废话了,直接贴一些重要的代码:(1)查找匹配项: private void RunMatch() { Regex r; Match m; statusBar.Panels[0].Text=""; statusBar.Panels[1].Text="";原创 2006-08-01 20:02:00 · 792 阅读 · 0 评论 -
正则表达式构造与测试小工具(上)
前言 最初接触到正则表达式是在大一时准备高程考试的时候,那时候只知道这个东西可以拿来对对给定的语句进行匹配,可对它很多的东西都不了解。在学习了C#后,终于有机会接触到这方面的细节了,其实我用过的方面也不多,回想起来也就有几个地方用过:比如用户注册时判断email地址是否合法,手机号码,身份证号码是否符合格式,用户名和密码的限制等,再有就是在做一些文本的搜索原创 2006-07-31 20:02:00 · 620 阅读 · 0 评论 -
状态模式(Strategy Pattern)
Strategy策略模式是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类. Stratrgy应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现. public abstract class Rule { public原创 2006-10-05 23:01:00 · 609 阅读 · 0 评论 -
设计模式之访问者(visitor)模式
访问者(Visitor)模式作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行为.IDictionaryEnumerator iterator = collection. GetEnumerator ()while (iterator. M原创 2006-10-08 23:00:00 · 704 阅读 · 0 评论 -
IIS默认网站(停止)错误ox8ffe2740解决办法
原因:TCP端口80被占用. 解决办法:在IIS的默认网站-点击右键属性-把TCP端口80改成一个没有使用的端口(如88),IIS就可以使用了.原创 2007-05-07 13:57:00 · 597 阅读 · 0 评论 -
SQL Server安装文件挂起错误解决办法
今天安装SQL Server 2000,遇到一个没见过的问题。具体情况和解决方法如下: 安装的是SQL Server 2000开发版,出现了错误:“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机。” 接着按照提示重启计算机,再安装,仍然出现同样的提示。再网上查找相关资料,得知是安装程序在先前的安装过程中在系统注册表留下某原创 2007-03-28 19:59:00 · 612 阅读 · 0 评论 -
C#制作简易播放器
.net framework里有了许多COM组件,我们可以根据应用程序的需要来使用这些组件,不用自己再去 “造轮子”了。 第一个示例是来制作一个VCD播放器.这里我使用了Windows自带的Media Play来播放多媒体文件。选择‘工具箱’—‘组件’,右击,选择‘添加/移除项’—‘COM组件‘(如果你是第一次使用Windows Media Play控件,在列表中是没有这个原创 2006-12-14 21:00:00 · 1398 阅读 · 0 评论 -
WebCast听课录(10)
课程名:Windows应用程序开发入门到精通七:优化.NET异常处理 1.多个catch块的情况时会过滤异常,先截获具体的异常,再截获一般的异常,并且这是从编译器的层次就支持的。2.应该从系统异常(System.ApplicationException)派生自己的具体异常,从而为特定的应用程序提供更好的支持。3.异常处理技术:1)记录异常:在文件中记录异常;在数据库中记原创 2006-10-28 23:00:00 · 715 阅读 · 0 评论 -
WebCast听课录(9)
课程名:C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式) 1,模块与模块之间的紧耦合使得软件面对变化时,相关的模块都要随之更改。而模块与模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其他模块保持不变耦合关系直接决定着软件面对变化时的行为 2,在软件系统中,经常面临着“某个对象”的创建工作;由于需求的变化,原创 2006-10-28 12:00:00 · 575 阅读 · 0 评论 -
WebCast听课录(8)
课程名:Windows应用程序开发入门到精通五:Windows应用程序界面美化 1, 当要进行长时间的计算工作时,不应该在用户界面(UI)主线程中进行从而阻塞主主线程,而应该开一个新的线程来进行。 2, 可以使用ThreadPool.QueueUserWorkItem()来进行异步调用。 3, 从其他线程中更新用户界面中的控件时,需要使用BeginInvo原创 2006-10-26 22:00:00 · 550 阅读 · 0 评论 -
WebCast听课录(7)
课程名:Windows应用程序开发入门到精通四:Windows窗体开发中的面向对象概念1,自定义控件的开发。最简单的控件自定义是重写公共控件的方法。例如,可以重写 TextBox 控件的 OnKeyPress 继承方法,提供将输入限制为数字字符的代码。public class NumricTextBox : System.Windows.Forms.TextBox {原创 2006-10-24 22:00:00 · 513 阅读 · 0 评论 -
WebCast听课录(6)
课程名:C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) 李老师先举了一个很有意思的例子来说明Builder的应用场景:假设创建游戏中的一个房屋House,该房屋由几个部分组成,且各个部分都会变化(比如说今天地板铺的是木地板,可明天却想换成瓷砖的)。如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正,那应该如何应对这种变化?原创 2006-10-20 22:00:00 · 522 阅读 · 0 评论 -
WebCast听课录(5)
课程名:Windows应用程序开发入门到精通六:如何使用.NET开发Windows应用程序 程序的托管执行程序集名称空间委托线程应用程序域特性数据类型反射 1,托管代码指第一次编译形成中间代码(MSIL),执行时需要再编译成本地代码(二进制代码).类加载器会加载中间语言代码,或dll中的类库,再调用JIT来编译为托管的本地代码,最后被托管原创 2006-10-17 23:00:00 · 562 阅读 · 0 评论 -
vs.net2003在代理下的一个奇怪小问题
今天尝试在写一个WebService的Demo时,居然出现了下面的错误:这下可把我郁闷了,把IIS的安全性改来改去,重装了asp.net1.1,可就是不行。查阅了下msdn,提示如下: 407需要代理服务器身份验证 这才想起来,我已经改用代理服务器上网了,应该是代理服务器的设置哪里不对,尝试了几次后,解决了问题,其实很简单,只需要在“In原创 2006-10-17 22:00:00 · 458 阅读 · 0 评论 -
WebCast听课录(4)
课程名:C#面向对象设计模式纵横谈(3):Abstract Factory 抽象工厂模式(创建型模式) 创建型模式要解决的问题就是如何创建一个对象的问题。使用new的问题在于: 实现依赖,不能应对“具体实例化类型”的变化。这个问题的解决思路是: 封装变化点—— 哪里变化,封装哪里。// 创建一个Road 对象Road road= roadFactory.CreateRoad();原创 2006-10-16 23:00:00 · 641 阅读 · 0 评论 -
WebCast听课录(3)
课程名:C#面向对象设计模式纵横谈2. Singleton单件(创建型模式) 模式分类 从目的来看:– 创建型(Creational)模式:负责对象创建。– 结构型(Structural)模式:处理类与对象间的组合。– 行为型(Behavioral)模式:类与对象交互中的职责分配。 从范围来看:– 类模式处理类与子类的静态关系。原创 2006-10-13 22:00:00 · 559 阅读 · 0 评论 -
WebCast听课录(2)
课程名:Windows应用程序开发入门到精通一:使用.NET开发Windows应用程序 - 介绍和基本概念 这次课没什么深的东西,都是些基础知识的复习。 课后体会: 1, 了解到IssueVision和TaskVision,这是两个微软提供的开源代码示例程序。 2, Winform和WebForm两种编程模型各有优缺点,相互补充,不能一棒子打死。原创 2006-10-12 23:00:00 · 709 阅读 · 0 评论 -
WebCast听课录(1)
课程名:C#面向对象设计模式纵横谈(1)面向对象设计模式与原则设计模式简介 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。——Christopher Alexander 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。原创 2006-10-11 01:00:00 · 583 阅读 · 0 评论 -
设计模式之模板方法模式(Template Method)
在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template Method提供了这种情况的一个实现框架。 Template Method模式是采用继承的方式实现这一点:将逻辑(算法)框架放在抽象基类中,并定义好细节的接口,子类中实现细节。原创 2006-10-10 00:00:00 · 692 阅读 · 0 评论 -
SQL Server数据库文件恢复技术
SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQL Server Enterprise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL S原创 2006-06-18 09:02:00 · 486 阅读 · 0 评论