09 2012 档案
摘要:You can encapsulate the Queue class with your own class, something like:class MyQueue<T>{ private readonly Queue<T> queue = new Queue<T>(); public event EventHandler Enqueued; protected virtual void OnEnqueued() { if (Enqueued != null) Enqueued(this...
阅读全文
摘要:Persist Security Info=False"表示的是什么?生活随笔2009-07-20 15:34:39阅读391评论0字号:大中小订阅2008年01月03日 星期四 10:19ADO数据库连接中的Persist Security Info参数的作用ADO用了这么久,每次用向导创建ADO的数据库连接字符串时总会有产生一个Persist Security Info属性,平时没太注意,因为设置为True或False时对数据库连接没有任何影响。不过心理还是不爽,今天有时间查询了一下资料,总算搞清楚了它 的作用。Persist Security Info属性的意思是表示是否保存安
阅读全文
摘要:.Net对于远程调用提供了两种方法:Remoting和WebService。WebService现在是如火如荼,特别是有一种比较流行的架构:Winform+WebService(Java、.Net),我曾经做过的一个项目就是这样子的,分布式、跨平台、极佳的用户体验,这三者结合起来是不是很诱人?不过,这里我只说Remoting,Remoting具有以下特点:1、Tcp通道的Remoting速度非常快2、虽然是远程的,但是非常接近于本地调用对象3、可以做到保持对象的状态4、没有应用程序限制,可以是控制台,winform,iis,windows服务承载远程对象缺点:1、不是标准的应用,因此有平台限制
阅读全文
摘要:一、开篇忏悔对自己最拿手的编程语言C#,我想对你说声对不起,因为我到现在为止才明白c#中的delegate和event是怎么用的,惭愧那。好了,那今天就趁月黑风高的夜晚简单来谈谈delegate和event的简单用法吧,希望能给初学者带来帮助。PS:别像我那样学了几年c#到头来都不知道delegate和event怎么用。二、delegate到底是什么东西孩子,C语言总学过吧,如果你学得不像我那么差的话,函数指针总用过吧,就算没用过总听说过吧,嗯,大胆的告诉你,你完全可以把delegate理解成C中的函数指针,它允许你传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m,说白
阅读全文
摘要:本来是要研究怎样判断下载完成,结果找到这个方法,可以在这个方法完成之后提示下载完成。代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWinShowDown{publicpartialclassFrmMain:Form{publicFrmMain(){InitializeCompone
阅读全文
摘要:// Define the namespaces used by this sample.usingSystem;usingSystem.Text;usingSystem.Globalization;usingSystem.IO;usingSystem.Diagnostics;usingSystem.Threading;usingSystem.ComponentModel;namespaceProcessAsyncStreamSamples{classProcessNetStreamRedirection{// Define static variables shared by class m
阅读全文
摘要:这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信。注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序。在这个例子中,实际上还有很多问题没有解决,如消息边界问题、端口号是否被占用、消息命令的解析问题等。。下面是两个程序的代码,(两个程序均为控制台程序)先发服务端的(Server)完整代码如下:引入命名空间:using System.Net.Sockets; using System.Net; using System.Threading; 完整代码如下:namespace SocketServer { class Program...
阅读全文
摘要:示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息;这里只是一个简单的示例,是一个最基本的socket编程流程,在接下来的文章中,会依次记录套接字的同步和异步,以及它们的区别。下面是示例程序的简单步骤说明服务器端:第一步:用指定的端口号和服务器的ip建立一个EndPoint对像;第二步:建立一个Socket对像;第三步:用socket对像的Bind()方法绑定EndPoint;第四步:用socket对像的Listen()方法开始监听;第五步:接受到客户端的连接,用socket对像的Accept()方法创建新的socket对像用于和请求的客户端进行通信
阅读全文
摘要:C# Socket Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--从socket套接字到普通的请求/响应,更重要的是,这种分层是可以扩展的,能够适应Internet不断扩展的需要。抛开ISO/OSI模型的7层构架,单从TCP/IP模型上的逻辑层面上看,.Net
阅读全文
摘要:Visual Studio 2005其他版本27(共 33)对本文的评价是有帮助-评价此主题C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。通常允许对枚举进行整型运算,例如==、!=、<、>、<=、>=、binary +、binary -、^、&、|、~、++、--和sizeof()。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。下表列出了按优先级顺序分组的 C# 运算符。每个组中的运算符具有相同的优先级。运算符类别运算符基本x.yf(x)a[x]x++x--newtypeofcheckedunchecked
阅读全文
摘要:[] 是针对特定类型、固定长度的。List是针对特定类型、任意长度的。Array 是针对任意类型、固定长度的。ArrayList是针对任意类型、任意长度的。Array 和 ArrayList 是通过存储 object 实现任意类型的,所以使用时要转换。应用示例usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Collections;publicpartialclass_
阅读全文
摘要:摘 要反射,一个很有用且有意思的特性。当动态创建某个类型的实例或是调用方法或是访问对象成员时通常会用到它,它是基于程序集及元数据而工作的,所以这一章我们来讨论一下程序集、反射如何工作、如何动态创建类型及对象等相关知识,甚至可以动态创建程序集。第一节 应用程序域与程序集通过本系列的前面章节,我们已经知道,Windows为每个进程分配独立的内存空间地址,各个进程之间不能直接相互访问。Windows对.NET的支持是以宿主和COM的形式实现的,基于.NET平台语言实现的代码文件使用Windows PE的文件格式,CLR其实就是COM,相当于一个虚拟机(当然这个虚拟机可以部署到任意支持它的系统环境中)
阅读全文
摘要:在企业中,由于有些流水表每日有几千万条记录,数据仓库保存5年数据的话很容易不堪重负,因此可以使用拉链表的算法来节省存储空间。1.采集当日全量数据存储到 ND(当日) 表中。2.可从历史表中取出昨日全量数据存储到 OD(上日数据)表中。3.用ND-OD为当日新增和变化的数据(即日增量数据)。两个表进行全字段比较,将结果记录到tabel_I表中4.用OD-ND为状态到此结束需要封链的数据。 (需要修改END_DATE)两个表进行全字段比较,将结果记录到tabel_U表中5.历史表(HIS)比ND表和OD表多两个字段(START_DATE,END_DATE)6.将tabel_I表的内容全部inser
阅读全文
摘要:入门篇假设你是有着.Net平台的程序员,并且使用Visual Studio 做为开发工具。断点:最简单的一种,设置一个断点,程序执行到那一句就自动中断进入调试状态。设置断点,在你觉得有问题的代码行,左侧单击,会出现红色的红点即断点。启动调式:按F5,或者菜单栏---调式---开始调试,或者工具栏的图标快速监视:快速查看变量或者表达式的值,也可以自定义表达式进行计算单步执行有三种,一种是每次执行一行(F10);一种是每次执行一行,但遇到函数调用就会跳到被调用的函数里(F11);一种是直接执行当前函数里剩下的指令,返回上一级函数(Shift+F11)。还有一种后悔药,设为下一句(Set Next
阅读全文
摘要:一、设置断点,跟踪调试1.F9设置断点,F10 逐过程进行调试,F11 逐语句进行调试2.在断点语句行,点击右键,断点-条件,弹出框设置条件二、页面跟踪在页面顶部添加“Trace=true”,即启动该页面的跟踪,使用 Trace.Write 和 Trace.Warm 可以向页面跟踪信息中输入自己想要的信息。三、调试客户端脚本1.启用客户端脚本调试IE-工具-“Internet选项”-高级-禁用脚本调试2.在VS2008中按 F5 或 F10 启动调试;在VS2005 中无法在断点中停下的,在 IE-查看-脚本调试程序-打开,回到VS2005设置断点,刷新即可四、异常捕获五、页面级错误处理在单独
阅读全文
摘要:Entity entCurr = entCollection.Find(delegate(Entity m) { returnm.name== "aa"; }); 对象List<Entity> ltEntity= entCollection.FindAll(delegate(Entity m) { returnm.name== "aa"; })C# ListArrays do not resize dynamically. TheListtype in the C# language does. With List, you do not n
阅读全文
摘要:有经验的开发人员都知道在开发.NET应用时可以利用配置文件保存一些常用并且有可能变化的信息,例如日志文件的保存路径、数据库连接信息等等,这样即使生产环境中的参数信息与开发环境不一致也只需要更改配置文件而不用改动源代码再重新编译,极其方便。并且我们一般还约定,在<appSettings>节点保存应用程序的配置信息,在<connectionStrings>中保存数据库连接字符串信息(详见本博客《ASP.NET夜话之十一》)。上面的这些方法和约定足以让我们在大部分开发中获得方便,但是在有些情况下有些配置信息可以按组分类存放,如果采用上面的方法不仅不直观,而且读取起来也不是太方
阅读全文
摘要:索引器概述索引器使得对象可按照与数组相似的方法进行索引。get 访问器返回值。set 访问器分配值。this 关键字用于定义索引器。value 关键字用于定义由 set 索引器分配的值。索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。索引器可被重载。索引器可以有多个形参,例如当访问二维数组时。C#语言一个最令人感兴趣的地方就是类的索引器(indexer)。简单说来,所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的类。显然,这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象某些有限资源等,能让类具有类似数组的行为当然也是非常有用的
阅读全文
摘要:Enforcement regedit,Locate the following keys:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerAfter a more NoDesktop 刪除 將右,To reboot.After, if deleted,The next boot again,Said computer virus is still running,After removing poison Qing 將病 請先,Come back to amend the key.
阅读全文
摘要:在上网的时候,我们经常会看到“端口”这个词,也会经常用到端口号,比如在FTP地址后面增加的“21”,21就表示端口号。那么端口到底是什么意思呢?怎样查看端口号呢?一个端口是否成为网络恶意攻击的大门呢?,我们应该如何面对形形色色的端口呢?下面就将介绍这方面的内容,以供大家参考。端口简介:本文介绍端口的概念,分类,以及如何关闭/开启一个端口端口概念 在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从.
阅读全文
摘要:在安装虚拟机Vmware后,如果要实现本机和虚拟机的互通,则必须要求本机是有一个联网的环境。在没有该环境下可以通过安装虚拟网卡的形式来实现。在Windows XP中可以通过安装Microsoft Loopback Adapter来实现,下面是安装方法:进入”控制面板”,双击”添加硬件”,弹出如下对话框:点击下一步,进入自动搜索,然后到达如下界面:选择“是,我已经连接了此硬件(Y)”,点击下一步:选择”添加新的硬件设备”,点击下一步:选择”安装我手动从列表选择的硬件(高级)”,点击下一步:选中“网络适配器”,然后 下一步:在右侧选中Microsoft Loopback Adapter”,点击 下
阅读全文
摘要:win7 禁用休眠的方法:开始-所有程序-附件-命令提示符-然后在上面右击鼠标,以管理员身份运行(记住一定要以管理员身份运行,否则无效)然后在打开的命令提示窗口里输入powercfg /h off,然后回车这时你在看看C盘的空间是不是多出来了一部分呢????????开启休眠:以管理员身份:输入指令powercfg/h on了!
阅读全文
摘要:List <T>是ArrayList的泛型,ArrayList里边的数据类型是object,List <T>里边的是具体的某种类型,ArrayList类似于向量,可以存储不同的数据类型在一个数组里边(转换为了object)。 一般使用的时候尽量使用List <T>,因为ArrayList存取都要进行一次转换。 []类型的数组类似于List <T>,不同的是[]是定长的,而List <T>是长度可变的数组ICollection主要针对静态集合;IList主要针对动态集合 IEnumerable <T>继承自IEnumerab
阅读全文
摘要:再优秀的程序员在编程的过程中也会犯些错误,何况是我们这些初级程序学者;好的程序员会找出一些错误并修改它们.有时候程序中存在一些微妙的错误我们发现不了的时候就得跟踪代码进行调试.一.VisualStudio中的调试在调试模式下运行程序时,运行的是编写好的代码.调试程序的信息在VS执行每行代码过程中发生了甚么都有记录,这些信息保存在Debug目录下的.pdb格式文件中.在运行期间把文本写入Output窗口是非常简单的.此时可以使用一下两个命令:Debug.WriteLine()Trace.WriteLine()这两个命令函数的使用方法差不多,区别在第一个命令是在调试模式下运行而第二个还可以用于发布
阅读全文
摘要:C# 3.0下有限状态机的一种优雅的实现实现状态机有多种模式,其中最灵活而强大的方式是通过迁移表来实现,该方式的缺点之一是需要编写大量小块代码去支持迁移表。而在C#3.0中,可以以一种非常优雅的方式实现。using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace StateMachine{class Program{static void Main(string[] args){var door = new Door(State.Open);while (true){st
阅读全文
摘要:摘 要说到序列化,大家都非常熟悉XML序列化,还有二进制序列化,经过序列化的数据流更方便传输和存储。其实我们可以对序列化进行更多的控制,比如对序列化(和反序列化)前后的数据操作、定义自己的可序列化类型等。这一章我们来讨论一下有关于序列化和反序列化。第一节 序列化1、 序列化序列化包括正向序列化和反向序列化,一般我们将正向序列化说成是序列化。序列化(Serialization)是将一个类对象转化成一个字节流。反序列化(Deserialization)是将一个字节流转化成一个对应的类对象的过程。在WCF通信中,当向服务端发送请求的时候,WCF是先把本地的内存对象序列化成XML或Binary通过信道
阅读全文
摘要:MSBuild基本概念(续)在上一篇简单的介绍了下MSBuild中的四个基本块,每块介绍比较单薄,在这里对在大多数的项目模版生成的*.*proj文件中比较常见一些用法和概念做些补充。主要有一下几方面:MSBuild特殊字符:MSBuild保留的一些字符,以及XML中的特殊字符处理。MSBuild条件: Condition特性,作用类似于C#的if。MSBuild属性: 使用环境变量、保留属性、全局属性。MSBuild项: 元数据、项转换。MSBuild任务: ITask接口、UsingTask[自定义任务]、ContinueOnError。MSBuild目标: 初始目标、默认目标、目标依赖项。
阅读全文
摘要:MSBuild是什么?MSBuild全称(Microsoft Build Engine),是用来生成.NET程序的平台。您可能不知道它,但是如果您在使用VS做开发,那么一定时时刻刻在使用它。因为是它在背后为你管理生成你 的项目文件。当新建一个项目时,注意下项目文件夹中的*.*proj文件就是为MSBuild提供的,这是个文本文件,基于XML格式,里面包含有项目所 包含的文件,生成配置,输出配置等信息。当把一个文件或者图片等添加到项目中,就会在这里添加一个描述,反之则删除一个描述信息;在项目属性页所做的配置 也会在这里存储。为何去了解MSBuild想去了解这个源于以前学WPF时的疑惑(当时就想从
阅读全文
摘要:一、委托Delegate一般的方法(Method)中,我们的参数总是string,int,DateTime...这些基本的数据类型(或者没有参数),比如[c-sharp] view plaincopypublicvoidHelloWorld(){Console.WriteLine("HelloWorld!");}publicvoidHelloWorld(stringname){Console.WriteLine("Hello,{0}!",name);}但是有些时候,我们希望把一个方法本身当做参数传递给另一个方法,比如myObject.callMethod
阅读全文