跟小D每日学口语

04 2012 档案

摘要:最 近准备学NHibernate,于是网上狂找,看来有不少文章,但仔细看就会明白,搞来搞去,其实就那么几篇大同小异的文章,但还是终于在我们的博客上找 到篇好点的,就是下面那篇了,我也不明白是哪为高手写的了,因为转载的太多了,有点糊涂了,也许是张老三的作品吧,但不知道是没有把相关源码共享出来,还 是我没有找到,对一个新手来说,就一些文字真的有点困难啊,何况下面的文章可能由于手误,还是某些原因,我是调试很久才调得出来,也许是我的 NHibernate,和NUIT的版本跟原文的不同,我用的NHibernate 0.9.1.0,NUnit2.2。顺便把NUnit也学了,还是蛮不错的了。下面的文章也许是 阅读全文
posted @ 2012-04-29 23:30 Danny Chen 阅读(375) 评论(0) 推荐(0) 编辑
摘要:///<summary>///WebClient上传文件至服务器///</summary>///<paramname="localFilePath">文件名,全路径格式</param>///<paramname="serverFolder">服务器文件夹路径</param>///<paramname="reName">是否需要修改文件名,这里默认是日期格式</param>///<returns></returns>p 阅读全文
posted @ 2012-04-29 13:08 Danny Chen 阅读(571) 评论(0) 推荐(0) 编辑
摘要:一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况.从上图可知,程序占用的内存被分了以下几部分.1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,内存的分配是连续的,类似于平时我们所说的栈,如果还不清楚,那么就把它想成数组,它的内存分配是连续分配的,即,所分配的内存是在一块连续的内存区域内.当我们声明变量时,那么编译器会自动接着当前栈区的结尾来分配内存.2、堆区(heap)一般由程序员分配释放, 若程序员不释放,程序结束时可 阅读全文
posted @ 2012-04-26 15:02 Danny Chen 阅读(3463) 评论(0) 推荐(0) 编辑
摘要:前言:由于身边也没什么学习资料,也就一边利用网络一边自己理解整理,慢慢地步入神秘的反射机制。 反射提供了封装程序集、模块和类型的对象(Type 类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。简而言之, 反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。使用Assembly定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。使用Module发现以下信息:包含模块的程序集以及模块中的类等。您... 阅读全文
posted @ 2012-04-26 13:16 Danny Chen 阅读(188) 评论(0) 推荐(0) 编辑
摘要:Mike PopeVisual Basic User EducationMicrosoft Corporation2003年1月摘要:本文介绍如何使用 Visual Basic 在 ASP.NET Web 应用程序中读写 HTTP Cookie。适用于:ASP.NETMicrosoft® Visual Studio® .NETWeb 窗体读者范围:初级 Web 程序员目录简介什么是 Cookie?Cookie 的限制编写 Cookie多值 Cookie(子键)控制 Cookie 的有效范围读取 Cookie修改和删除 CookieCookie 和安全性检查浏览器是否接受 C 阅读全文
posted @ 2012-04-22 22:33 Danny Chen 阅读(219) 评论(0) 推荐(0) 编辑
摘要:关于Assembly.CreateInstance()与Activator.CreateInstance()方法动态创建类对象,大多是Activator.CreateInstance()和Activator.CreateInstance<T>()方法,非常好用,一般都用了Assembly.Load("AssemblyName").CreateInstance ("ClassName");的方法,研究一下这两者到底有什么区别,在msdn里,查到了两个方法的介绍:Assembly.CreateInstance 方法 (String)使用区分大小写 阅读全文
posted @ 2012-04-22 22:07 Danny Chen 阅读(333) 评论(0) 推荐(0) 编辑
摘要:在所有关于C#事件机制的介绍中,我更倾向于发布者/订阅者(Publisher/Subscriber)这种描述。理解事件机制并不是一件容易的事情,它所涉及的思想值得我们好好去研究。本文资源来自《C#与.NET技术平台实战演练》——中国青年出版社谈到事件,我们涉及到两个角色:事件发布者(Publisher)和事件订阅者(Scriber),也可以说是事件发送者(Sender)和事件接收者(Receiver)的关系。举个例子来说,市面上目前有许多杂志,杂志的种类也很多。而我只对其中的某些感兴趣,那么我就可以向杂志发行商提出订阅。之后,每当杂志发行时,我就会收到我在杂志发行商那儿订阅的杂志。在这个关系中 阅读全文
posted @ 2012-04-21 17:54 Danny Chen 阅读(290) 评论(0) 推荐(0) 编辑
摘要:在多线程中,为了使数据保持一致性必须要对数据或是访问数据的函数加锁,在数据库中这是很常见的,但是在程序中由于大部分都是单线程的程序,所以没有加锁的必要,但是在多线程中,为了保持数据的同步,一定要加锁,好在Framework中已经为我们提供了三个加锁的机制,分别是Monitor类、Lock关键字和Mutex类。 其中Lock关键词用法比较简单,Monitor类和Lock的用法差不多。这两个都是锁定数据或是锁定被调用的函数。而Mutex则多用于锁定多线程间的同步调用。简单的说,Monitor和Lock多用于锁定被调用端,而Mutex则多用锁定调用端。例如下面程序:由于这种程序都是毫秒级的,所以运行 阅读全文
posted @ 2012-04-18 09:08 Danny Chen 阅读(185) 评论(0) 推荐(0) 编辑
摘要:阅读目录开始ASP.NET身份认证基础ASP.NET身份认证过程如何实现登录与注销保护受限制的页面登录页不能正常显示的问题认识Forms身份认证理解Forms身份认证实现自定义的身份认证标识在多台服务器之间使用Forms身份认证在客户端程序中访问受限页面用户登录是个很常见的业务需求,在ASP.NET中,这个过程被称为身份认证。 由于很常见,因此,我认为把这块内容整理出来,与大家分享应该是件有意义的事。在开发ASP.NET项目中,我们最常用的是Forms认证,也叫【表单认证】。 这种认证方式既可以用于局域网环境,也可用于互联网环境,因此,它有着非常广泛的使用。 这篇博客主要讨论的话题是:ASP. 阅读全文
posted @ 2012-04-16 09:30 Danny Chen 阅读(279) 评论(0) 推荐(0) 编辑
摘要:在浏览器地址栏输入javascript:alert (document. cookie)会话(Session) 跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户 身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie, 什么时候不能用Session。 1.1 Cookie机制 在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二 阅读全文
posted @ 2012-04-15 21:07 Danny Chen 阅读(226) 评论(0) 推荐(0) 编辑
摘要:即使是做网络应用,在断线情况下,也需要考虑数据的本地存储。在SQLite出现之前,数据量大的情况下,我们一直使用ACCESS,数据量小,则文件存储。ACCESS不支持事务原子性,在断电情况下(这种情况总是会发生)会导致数据很难恢复。一:安装SQLITE,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统。我直接使用的是http://sqlite.phxsoftware.com/(An open source ADO.NET provider for the SQLite database engine)。下载完毕是一个EXE,安装后根目录如下:Bin下有一个测试工具,可以查看本地运行SQ 阅读全文
posted @ 2012-04-12 14:58 Danny Chen 阅读(539) 评论(0) 推荐(0) 编辑
摘要:C#笔记20:多线程之线程同步中的信号量AutoResetEvent和ManualResetEvent本章概要:1:终止状态和非终止状态2:AutoResetEvent和ManualResetEvent的区别3:WaitHandle.WaitOne()等1:终止状态和非终止状态 首先说说线程的终止状态和非终止状态。AutoResetEvent和ManualResetEvent的构造函数中,都有bool变量来指明线程的终止状态和非终止状态。true表示终止状态,false表示非终止状态。看代码片段1:代码片段1: AutoResetEvent _autoResetEvent = n... 阅读全文
posted @ 2012-04-12 14:44 Danny Chen 阅读(291) 评论(0) 推荐(0) 编辑
摘要:View Code<?xml version="1.0" encoding="utf-8" ?><Language> <!--报告录入 --> <ReportInputFrm value="Report Input"> <grpBasic>Basic Info</grpBasic> <lblSampleDate>Date</lblSampleDate> <lblSampleID>ID</lblSampleID> &l 阅读全文
posted @ 2012-04-12 13:49 Danny Chen 阅读(1237) 评论(0) 推荐(0) 编辑
摘要:Posted on 2008-06-23 14:39SmartStone阅读(1334)评论(2)编辑收藏//声明一个委托publicdelegatevoidSetTextBoxValue(stringvalue);//委托使用文本框voidSetMyTextBoxValue(stringvalue){//Control.InvokeRequired属性:获取一个值,该值指示调用方在对控件进行方法调用时是否必须调用Invoke方法,因为调用方位于创建控件所在的线程以外的线程中。当前线程不是创建控件的线程时为true,当前线程中访问是Falseif(this.TextBoxControl.Inv 阅读全文
posted @ 2012-04-12 13:19 Danny Chen 阅读(8899) 评论(0) 推荐(0) 编辑
摘要:控件生命周期1.初始化(对应Oninit方法)这里页面通过ProcessRequest方法来递归遍历它的子控件(即页面中的空间,其实页面也算控件)。使子控件依次调用它们的Oninit方法。我们这里可以重写控件的OnInit方法,来扩展控件功能或增加初始化内容。在本阶段还要打开视图状态跟踪功能,调用TrackviewState方法,这样存储在viewState对象里面的值在页面回发时才能正确灰复到控件属性中。2.加载视图状态(对应LoadViewState方法)本阶段仅在页面回发时才执行,加载视图状态到控件。在第一次访问页面时我们还没有获得存储到视图状态的状态数据。3.加载回传数据(对应Load 阅读全文
posted @ 2012-04-12 13:16 Danny Chen 阅读(202) 评论(0) 推荐(1) 编辑
摘要:Windows API中所有的函数都包含在dll中,其中有3个最重要的DLL。 (1) Kernel32.dll 它包含那些用于管理内存、进程和线程的函数,例如CreateThread函数; (2) User32.dll 它包含那些用于执行用户界面任务(如窗口的创建和消息的传送)的函数,例如CreateWindow函数; (3) GDI32.dll 它包含那些用于画图和显示文本的函数。 阅读全文
posted @ 2012-04-12 13:12 Danny Chen 阅读(318) 评论(0) 推荐(0) 编辑
摘要:.Net SDK下有很多命令工具,有许多在我们平时开发应用中很有帮助。最近看书总结了一些,但是难免有点以偏概全,挂一漏万。下面就介绍这些命令的基本用法,实际应用中可以参考MSDN。 切入正题,打开SDK命令提示,如下图:1、ildasm (IL Disassembler IL 反汇编器)。 它是一个重要的工具,通过它,可以查看元数据(metedata)信息,IL等。 保存、查看IL代码:在VS2008命令窗口输入ILDAsm,然后通过它的【文件】菜单打开文件,如下图:查看元数据信息:在ILDASM中按"Ctrl+M"即能查看元数据信息。如下图 2、SN.exe(Strong 阅读全文
posted @ 2012-04-11 23:57 Danny Chen 阅读(246) 评论(0) 推荐(0) 编辑
摘要:异步的核心: IAsyncResultAsynchronousProgrammingModel整个异步调用过程中都是围绕IAsyncResult来进行的,大家可以看看上篇文章的例子,BeginXXX返回这个对象,EndXXX接收这个对象来结束当前异步对象,下面我们来看看IAsyncResult接口成员/和实现此接口的AsyncResult类成员(其中有些在上篇中已经涉及到)IAsyncResult接口1publicinterfaceIAsyncResult2{3WaitHandleAsyncWaitHandle{get;}//阻塞一个线程,直到一个或多个同步对象接收到信号4BooleanIsC 阅读全文
posted @ 2012-04-11 23:21 Danny Chen 阅读(315) 评论(0) 推荐(1) 编辑
摘要:现在扩充下上篇文章的类(AsyncTest),提供更多的例子并从中做下简单的对比,从新的认识下异步的内部机制,下面我们增加一个新的委托1步,我们添加一个新方法(计算年薪YearlySalary)publicdecimalYearlySalary(decimalsalary,intmonthCount,decimalbonus);2步,为这个方法增加异步的功能,这样我们仍然使用委托(Delegate)publicdelegatedecimalSalaryEventHandler(decimalsalary,intmonthCount,decimalbonus);经过简单修改后,下面是我们新的As 阅读全文
posted @ 2012-04-11 23:20 Danny Chen 阅读(427) 评论(0) 推荐(0) 编辑
摘要:在阅读下面知识前,我已经认为你已经具有c#的基础,包括简单的委托知识;代码使用VS2008开发,但是会在.Net Framework 2.0(C Sharp)编写什么是.Net异步机制呢? 在解释这个话题前,我们先看看同步的程序,就是我们常用的Hello World 程序。Code 1:1classProgram2{3staticvoidMain(string[]args)4{5//查看当前的线程ID,是否线程池里面的线程6Console.WriteLine("1,ThreadID:#{0},IsPoolThread?{1}",Thread.CurrentThread.Ma 阅读全文
posted @ 2012-04-11 23:18 Danny Chen 阅读(266) 评论(0) 推荐(0) 编辑
摘要:静态构造函数是C#的一个新特性,其实好像很少用到。不过当我们想初始化一些静态变量的时候就需要用到它了。这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用。 classSimpleClass{//StaticconstructorstaticSimpleClass(){//}} 在使用静态构造函数的时候应该注意几点: 1、静态构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。 2、是在创建第一个类实例或任何静态成员被引用时,.... 阅读全文
posted @ 2012-04-11 16:21 Danny Chen 阅读(174) 评论(0) 推荐(0) 编辑
摘要:Visual Studio 2010其他版本此主题尚未评级评价此主题静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。C#class SimpleClass{ // Static variable that must be initialized at run time. static readonly long baseline; // Static constructor is called at most one time, before any // instance const... 阅读全文
posted @ 2012-04-11 16:20 Danny Chen 阅读(236) 评论(0) 推荐(0) 编辑
摘要:AutoResetEvent 有两种状态 一种终止状态,另一种 非终止状态构造函数有个bool参数,true 是终止, false 是非终止WaitOne 是用来等待的,如果AutoResetEvent 处于 非终止状态 那么会一直等待,直至调用 Set如果是终止状态 ,那么不会阻塞 会继续调用 Set 就是告知 我的工作完成了,我现在可以走了 ,大家久等了.线程阻塞成立的一对条件:1.线程中包含waitone();2.AutoResetEvent(bool)的bool为false,即事件状态为非终止状态;set()方法是将事件状态设置为终止状态(其实就是破坏第2个条件),允许一个或多个等待线 阅读全文
posted @ 2012-04-11 10:16 Danny Chen 阅读(764) 评论(0) 推荐(0) 编辑
摘要:概述AutoResetEvent 允许线程通过发信号互相通信。 通常,当线程需要独占访问资源时使用该类。线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号。 如果 AutoResetEvent 为非终止状态,则线程会被阻止,并等待当前控制资源的线程通过调用 Set 来通知资源可用。调用 Set 向 AutoResetEvent 发信号以释放等待线程。 AutoResetEvent 将保持终止状态,直到一个正在等待的线程被释放,然后自动返回非终止状态。 如果没有任何线程在等待,则状态将无限期地保持为终止状态。如果当 AutoResetEvent 为终止状态时线程调用 W 阅读全文
posted @ 2012-04-11 10:11 Danny Chen 阅读(282) 评论(0) 推荐(0) 编辑
摘要:第一部:进入static void Main()第二部:运行static void Main() 中的Application.Run(new Form1());在这中间对窗体进行构造。 2.1 执行private System.ComponentModel.Container components = null;作用是Container 类是IContainer 接口的默认实现。容器是封装和跟踪零个或更多个组件的对象。在此上下文中,包容是指逻辑包荣, 而不是直观包容。可以在多种方案下使用组件和容器,包括可视化方案和非可视化方案。在一个先入先出列表中跟踪容器中的组件,该列表也定义了容器内组件的顺 阅读全文
posted @ 2012-04-10 09:51 Danny Chen 阅读(940) 评论(0) 推荐(0) 编辑
摘要:在网上找了下插件式编程的资料,这里自己先借鉴下别人的,同时发现有自己的看法,不过由于本人水平有限,不一定有参考价值,写出来一方面是为了总结自己,以求提高,另一方面也希望各为朋友看到我的不足,给我提出宝贵意见。什么是插件式编程提起插件式,我们首先想到的是firefox,用过firefox的人都知道它是一个插件式程序。当一个功能需要,完全可以从网上下载一个插件后,重启后,就能使用。这个功能给我们带来许多的方便之处,这就是插件式程序的好处。插件的本质在于不修改程序主体(平台)的情况下对软件功能进行拓展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新功能,也 阅读全文
posted @ 2012-04-09 09:44 Danny Chen 阅读(399) 评论(0) 推荐(0) 编辑
摘要:在.Net Framework中,在System.Xml类库中,查找一个Xml节点的最简单方法是通过XmlNode.SelectSingleNode和XmlNode.SelectNodes方法,解析XPath字符串。不过如果Xml文本中包含名称空间(Namespace),事情就有一点点复杂了。注意,Xml名称空间属于亦正亦邪的技术,参见Xml名称空间(Namespace)的简介和优劣分析。含有名称空间(Namespace)前缀的Xml比如以下的例子,xdoc.SelectSingleNode什么也找不到,只能得到Nothing。Dim xml As String = "<tes 阅读全文
posted @ 2012-04-09 09:20 Danny Chen 阅读(1115) 评论(0) 推荐(0) 编辑
摘要:This example shows how to dynamically load assembly, how to create object instance, how to invoke method or how to get and set propertyvalue.Create instance from assembly that is in your project ReferencesThe following examples create instances of DateTime class from the System assembly.[C#]// creat 阅读全文
posted @ 2012-04-07 16:34 Danny Chen 阅读(507) 评论(0) 推荐(0) 编辑
摘要:This example shows how to get all culture names in the .NET Framework. Use static methodCultureInfo.Get­Cultures. To get associated specific culture use static methodCultureInfo.Cre­ateSpecificCul­ture.Following code is modified MSDN example (it'sjust sorted by culturename).[C#]// 阅读全文
posted @ 2012-04-07 16:32 Danny Chen 阅读(310) 评论(0) 推荐(0) 编辑
摘要:http://stackoverflow.com/questions/4197923/xml-document-set-attribute-question 阅读全文
posted @ 2012-04-07 16:30 Danny Chen 阅读(120) 评论(0) 推荐(0) 编辑
摘要:This example shows how to select nodes from XML documentby attribute value. Use methodXmlNode.Selec­tNodesto get list of nodes selected by the XPath expression. Suppose we have this XMLfile.[XML]<Names> <Name type="M">John</Name> <Name type="F">Susan& 阅读全文
posted @ 2012-04-07 16:29 Danny Chen 阅读(375) 评论(0) 推荐(0) 编辑
摘要:you have to use XmlBuilder object to build XML file/stringe.g./////XML<?xml version="1.0" encoding="utf-8"?><children> <!--Children below...--> <child age="1" referenceNumber="ref-1">child &amp; content #1</child> <child ag 阅读全文
posted @ 2012-04-07 16:28 Danny Chen 阅读(236) 评论(0) 推荐(0) 编辑
摘要:http://www.extension.harvard.edu/courses/subject/computer-science#119 阅读全文
posted @ 2012-04-03 10:48 Danny Chen 阅读(131) 评论(0) 推荐(0) 编辑
摘要:XML Schema是以XML语言为基础的,它用于可替代DTD。 一份XML schema文件描述了XML文档的结构。 XML Schema语言也被称为XML Schema Definition (XSD)(XML Schema定义). 1.什么是XML Schema? XML Schema的作用是定义一份XML文档的合法组件群,就像DTD的作用一样,一份XML Schema: 定义了可以出现在文档里的元素 定义了可以出现在文档里的属性 定义了哪些元素是子元素 定义了子元素的顺序 定义了子元素的数量 定义了一个元素应是否能包含文本,或应该是空的... 阅读全文
posted @ 2012-04-03 09:54 Danny Chen 阅读(591) 评论(0) 推荐(0) 编辑
摘要:The csproj files are in fact MSBuild files. The xsd for those can be found here:%windir%\Microsoft.NET\Framework\[framework version]\Microsoft.Build.xsd 阅读全文
posted @ 2012-04-01 12:52 Danny Chen 阅读(172) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示