摘要:variable point to code variable expression tree data structure lamda expression anonymous function 原文 Newcomers to LINQ often find expression trees difficult to grasp. In this post I hope to sh...
阅读全文
摘要:使用.net访问oracle数据库时一般需要在机器上安装instantclient才能正常连接。下面介绍一种不用安装instantclient直接引用dll就用.net能连接oracle数据库的方法:1. 下载x86的ODAC1120320Xcopy_32bit包使用x86的包是因为vs建立的asp.net项目默认指定的是x86的类库,而且无论你将项目的target设置为64,或者x86使用的都是x86的类库,如果你引用的Oracle.DataAccess.dll是64bit的话在运行的时候会报错。2. 将一下5个文件从压缩包中拷贝出来。其中Oracle.DataAccess.dll使用类库引
阅读全文
摘要:引用类型的变量不直接包含其数据;它包含的是对其数据的引用。当通过值传递引用类型的参数时,有可能更改引用所指向的数据,如某类成员的值。但是无法更改引用本身的值;也就是说,不能使用相同的引用为新类分配内存并使之在块外保持。若要这样做,应使用 ref 或 out 关键字传递参数。为了简单起见,下面的示例使用 ref。示例:通过值传递引用类型下面的示例演示通过值向 Change 方法传递引用类型的参数 arr。由于该参数是对 arr 的引用,所以有可能更改数组元素的值。但是,试图将参数重新分配到不同的内存位置时,该操作仅在方法内有效,并不影响原始变量 arr。C#class PassingRefByV
阅读全文
摘要:强签名:1. 可以将强签名的dll注册到GAC,不同的应用程序可以共享同一dll。2. 强签名的库,或者应用程序只能引用强签名的dll,不能引用未强签名的dll,但是未强签名的dll可以引用强签名的dll。3. 强签名无法保护源代码,强签名的dll是可以被反编译的。4. 强签名的dll可以防止第三方恶意篡改。强签名的方法:1. 有源代码:1.1 使用vs tool command:snk –k mykey.snk 生成签名公钥。1.2 将公钥加入项目中,并设置项目属性,设置签名公钥1.3 重新生成项目。2. 没有源代码。2.1 创建强签名键:sn.exe -k key.snk2.2 反汇编dl
阅读全文
摘要:原文The .NET Framework has full support for running multiple threads at once. In this article, Patrick Steele looks at how threads accomplish their task and why you need to be careful how you manage a WinForms application with multiple threads.A user interface that is unresponsive will frustrate your
阅读全文
摘要:在使用xml作为系统配置时,免不了需要将xml文件读取出来,并转换成相应的实体。但是,如果需要自己去操作xml文件的每一个节点,将其组装成实体,这个工作确实相当繁琐的,所以一般我们会写一个实体,然后使用下面的这种方式来反序列化。[XmlRoot("PersonInfoXml")] public class Person{ [XmlElement("Name")] public Identifier PersonIdentify { get { if (mIdentify == null) mIdentify = new Identifier(); ret
阅读全文
摘要:Quartz.Net is a very useful secheduling component, it can hanlde Interval, simple, cronExpresion pattern scheduling with some simple configuration.1. create a windows application with following reference.C5 is the generic collection class set as a complementary of .net framework.Since Quartz using C
阅读全文
摘要:参考文章1. 委托Delegate C#中的Delegate对应于C中的指针,但是又有所不同C中的指针既可以指向方法,又可以指向变量,并且可以进行类型转换,C中的指针实际上就是内存地址变量,他是可以直接操作内存的,通过内存地址直接访问变量,直接调用方法。 而C#中的Delegate是强类型的,也就是说在声明委托时就已经指定了该变量只能指向具有特定参数,以及返回值的方法。 使用delegate就可以直接建立任何名称的委托类型,当进行系统编译时,系统就会自动生成此类型。您可以使用delegate void MyDelegate() 方式建立一个委托类,并使用ILDASM.exe观察其成员。由ILD
阅读全文
摘要:http post 请求: string uri = "http://www.XXXXXXX.com/Default_Login.aspx?usercode=admin&password=123"; // Get an new instance from factory method. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); HttpWebResponse response =(HttpWebResponse) request.GetResponse(); Stream str
阅读全文
摘要:用于 Web 应用程序项目部署的 Web.config 转换语法.NET Framework 4 Web.config 文件通常包括根据应用程序的运行环境而必须不同的设置。例如,在部署 Web.config 文件时,您可能必须更改数据库连接字符串或禁用调试。对于 Web 应用程序项目,ASP.NET 提供了一些工具,用于自动完成在部署这些项目时更改(转换)Web.config 文件的过程。对于要部署到的每个环境,您将创建一个转换文件,该文件仅指定原始 Web.config 文件和适用于该环境的已部署 Web.config 文件之间的差异。 转换文件是一个 XML 文件,该文件指定在部署 Web
阅读全文
摘要:原文 参考: 1. 《C#高级编程》第六版 2. 文件流和数据流-C#程序设计教程 2010-7-11补充: 发现了一篇讲编码的深入而全面的好文章http://www.cnblogs.com/KevinYang/archive/2010/06/18/1760597.html 向文件写入非字符类型数据 当向文件中写入非字符类型的数据时,StreamWriter和BinaryWriter存在巨大差异。...
阅读全文
摘要:原文 In my previous post Service Locator Pattern in C#: A Simple Example I introduced a fairly basic implementation of this pattern. In this post I will address one of the limitations of that implementation, introducing a form of lazy initialization. Defining Lazy InitializationLazy initialization imp
阅读全文
摘要:原文来自http://www.csharp-corner.com/ Events When working with an IDE like Visual Studio, most events, particularly those involving Windows Forms applications, are nonlinear. That is, you might have to wait for a user to click a button or press a key to then respond to that event. In server applications
阅读全文
摘要:表示将处理事件的方法。泛型类型参数指定事件所生成的事件数据的类型。 命名空间:System程序集:mscorlib(在 mscorlib.dll 中)[SerializableAttribute] public delegate void EventHandler<TEventArgs> ( Object sender, TEventArgs e) where TEventArgs : Event...
阅读全文
摘要:参考文章 原文 异步调用可以避免主线程受工作线程阻塞,即工作线程执行的过程中,主线程依然可以往下运行,不必等待工作线程完成。下面是一个简单的异步调用加法函数的例子。using System;using System.Threading;// the namespace for AsyncResult.using System.Runtime.Remoting.Messaging; namespace AsyncCallback{ // Delegate for add method. public delegate int TwoOperands(int a,int b); class Pro
阅读全文
摘要:Unicode 规格通过采用两个字节编码每个字符使这个问题迎刃而解。转换最通用商业语言的单一规格具有足够多的 2 字节的模式 (65,536)。因为所有的 Unicode 系统均一致地采用同样的位模式来代表所有的字符,所以当从一个系统转到另一个系统时,将不会存在未正确转换字符的问题。通过在整个系统中使用 Unicode 数据类型,可尽量减少字符转换问题。 Unicode 数据使用 SQL Server 中的 nchar、varchar 和 ntext 数据类型进行存储。 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (92233720368547
阅读全文
摘要:常规的配置如下先在web.config中的<configuration>节点下添加如下配置:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/></co
阅读全文
摘要:构造函数和析构函数本节说明对象的创建、初始化和销毁过程。本节介绍下列主题: l 类构造函数l 结构构造函数l 析构函数类构造函数本节将讨论三种类构造函数:类构造函数的类型注释实例用于创建并初始化类的实例。私有在类之外不可访问的特殊类型实例构造函数。无法用私有构造函数来实例化类。静态在创建第一个实例或引用任何静态成员之前,将自动调用这种构造函数来初始化类。无法直接调用这种构造函数。备注 (1) 实例...
阅读全文
摘要:在做目前的项目中用到别的小组开发的一个日记记录的类,今天打开源程序看了一下,原来是在log4net组件外又包了一层,于是自已试了试log4net组件的应用。 一.简介 log4net是apache组织开发的日志组件, 可以从http://logging.apache.org/log4net/downloads.html下载log4net的源代码。同log4j一样(java下的日志记录组件)用户要在...
阅读全文
摘要:最近做一个在线阅读的网站文本内容的全文搜索网站(aspnet+sqlserver),当时有两个方案:1. Sql server 2005 Full Text Search service。2. Lucene.Net。Sql server的全文搜索索引管理比较方便,sqlserver 会自己管理索引的更新工作,也支持并发查询,但是遗憾的是没有HitHighlight功能,而且中文分词也做的比较瞎。L...
阅读全文