CLR GC垃圾收集过程模拟(用C#来显示垃圾收集过程的视觉效果)
摘要:废话不多说了,本人是搞Web方向的,C/S不太熟悉,先看界面图(比较粗糙),这里仅仅是从一个视觉的效果来初步显示GC相对应的操作(简单的效果显示,并不是真正的GC内幕,那个我也不懂)基本概念对象的生成过程(newobj指令)1:计算类型(包括基类)所有字段的字节总数2: 字节总数再加上对象开销字段字节数(相加为:对象所需的字节数)。每个对象包含2个开销字段:类型对象指针以及同步块索引。WIN32中,各占32位,WIN64中,各占64位。3:CLR检测托管堆中是否有足够的空间满足对象所需的字节数。如果满足,对象将被分配在NextObjPtr指针指示的地方,实例构造器被调用,(new操作)返回对象
阅读全文
如何将List<T>转换相应的Html(xsl动态转换)(二)
摘要:一、前言紧跟着上一篇随笔,本文主要涉及到如何将xml与xsl动态转换成html,这个才是最关键的地方,所有的内容都是围绕这个主题来进行开展的。根据指定的xsl样式将List<T>转换相应的Html,相关的随笔如下:(一)、将List<T>转换成DataTable。(二)、将Xml与Xsl动态转换成Html。(三)、设置以及控制Xsl的内容样式。二、XslTransform的具体实现XslTransform主要的职责为:将xml与xsl动态转换成html。其中,XslCompiledTransform提供了很多方法可以进行相关的转换,但使用起来并不是十分方便,因此必须在该
阅读全文
如何将List<T>转换相应的Html(xsl动态转换)(一)
摘要:一、前言根据指定的xsl样式将List<T>转换相应的Html,其中涉及到怎样将List<T>转换成DataTable,如何将xml文本、xsl样式文本动态转换成html以及如何设置以及控制xsl样式。主要步骤如下:步骤一、将List<T>转换成DataTable。步骤二、将Xml与Xsl动态转换成Html。步骤三、设置以及控制Xsl的内容样式。以上的三个步骤本人将以此顺序介绍相关的内容,分别对应相关的随笔,因为本人上班的时候不能上网以及时间上的问题,所以才将该文章分3次来写。二、类图设计以上的内容涉及的类图虽然很简单,但是本人还是花了不少时间的来实现具体功
阅读全文
Entity Framework Code First
摘要:Power Tool(翻译的话,好像就是牛逼工具哦?) 下次会为大家深入解析这个小工具。 最先看到这个工具是在EF产品组最新的博客文章上,http://blogs.msdn.com/b/adonet/archive/2011/05/18/ef-power-tools-ctp1-released.aspx。粗略读了下,感觉很酷,马上下载下来试了试,果然很酷,http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/。大致来说,这个工具有这样几个功能:1) 按照现有数据库结构,生成Code
阅读全文
如何将List<T>转换相应的Html(xsl动态转换)(二)
摘要:一、前言紧跟着上一篇随笔,本文主要涉及到如何将xml与xsl动态转换成html,这个才是最关键的地方,所有的内容都是围绕这个主题来进行开展的。根据指定的xsl样式将List<T>转换相应的Html,相关的随笔如下:(一)、将List<T>转换成DataTable。(二)、将Xml与Xsl动态转换成Html。(三)、设置以及控制Xsl的内容样式。二、XslTransform的具体实现XslTransform主要的职责为:将xml与xsl动态转换成html。其中,XslCompiledTransform提供了很多方法可以进行相关的转换,但使用起来并不是十分方便,因此必须在该
阅读全文
如何将List<T>转换相应的Html(xsl动态转换)(一)
摘要:一、前言根据指定的xsl样式将List<T>转换相应的Html,其中涉及到怎样将List<T>转换成DataTable,如何将xml文本、xsl样式文本动态转换成html以及如何设置以及控制xsl样式。主要步骤如下:步骤一、将List<T>转换成DataTable。步骤二、将Xml与Xsl动态转换成Html。步骤三、设置以及控制Xsl的内容样式。以上的三个步骤本人将以此顺序介绍相关的内容,分别对应相关的随笔,因为本人上班的时候不能上网以及时间上的问题,所以才将该文章分3次来写。二、类图设计以上的内容涉及的类图虽然很简单,但是本人还是花了不少时间的来实现具体功
阅读全文
C#探索
摘要:原来是这样:C#中字符串的内存分配与驻留池cyoooo7 2011-05-24 23:23 阅读:612 评论:0原来是这样:C#中的闭包是怎么捕获变量的cyoooo7 2011-05-22 14:26 阅读:1302 评论:5原来是这样:C#中自增、自减操作符重载是个怎么回事儿cyoooo7 2011-05-21 13:53 阅读:1206 评论:8
阅读全文
C# 5.0
摘要:第一:绑定运算符,:=:这个只是简化了数据绑定,跟ASP.NET MVC3不断改进一样,其实不是什么亮点改进。comboBox1.Text:=:textBox1.Text;//将文本框的内容绑定到下拉框。第二:带参数的泛型构造函数:这个的加入给一些设计增加了强大功能,泛型早在C#2.0加入后就有着强大的应用,一般稍微设计比较好的框架,都会用到泛型,C#5.0加入带参数泛型构造函数,则在原有基础上对C#泛型完善了很多。:)publicclassTMyClass:T:class,new()//wemighthavepublicclassTMyClass:T:class,new(int)第三:支持n
阅读全文
步步为营 .NET 代码重构学习笔记 五、移动函数和移动值域(Move Method And Move Field)
摘要:Move Method概述程序中,有个函数与其所驻class之外的另一个class进行更多交流,调用后者或被后者调用动机(Motivation)如果一个class有太多行为,或如果一个class与另一个class有太多合作而形成高度耦合(highly coupled),我们就会搬移函数。通过这种手段,我们可以使系统中的classes更简单,这些classes最终也将更干净利落地实现系统交付的任务。示例01publicclassMoveMethod02{03privateAccountType _type;04privateint_daysOverdrawn;05publicdoubleOver
阅读全文
.NET实现之(ActiveX插件开发)
摘要:在打算讲这篇文章之前我深思一个下午,打算分两篇来讲的,但是又怕读者看着嫌烦;其实稍微了解一点ActiveX插件的朋友都能知道,这样一扯可能出现一堆问题;但是我还是决定通过简单的方式尽量让初学者少接触底层的东西包括OLE(对象连接与嵌入)、COM(组件对象模型)之类的概念,但是ActiveX插件在开发上有很高的技术要求,虽然.NET为我们封装了很好的实现途径,但是我们也总不能停留在,知自然而不知其所以然的层面上;今天这篇文章我大概构思了一下,我主要会由浅入深的去逐层的讲解,对一些概念性的东西,我会给出参考资料供大家去学习,由于它的发展历史我也就不去讲解了,主要是实现为主;如果喜欢刨根问底的朋友可
阅读全文
.NET简谈静态事件链
摘要:在我们日常开发过程中经常会遇到多个类实例之间的关联,不管是B/S还是C/S的项目,在对实例的使用是一样的;只不过C/S的项目比较好控制,不管是UI层的对象都能很好的控制,包括继承、重写等等;而在B/S里面可能不太方便,由于B/S本身的特点,不能暴露内部太多的继承关系,以免不小心破坏类的封闭性;我这篇文章主要是讨论在多个类实例之间怎么进行动态关联,比如我们在开发Winform项目的时候,可能会碰到两个或多个窗口之间协同工作的情况;本人在这种情况下采用的是静态事件链的解决方案,多个实例之间不存在主次之分,有人肯定会觉得在一个类中定义事件,在调用的类中去实例化并订阅相关事件;这样解决不了多实例互操作
阅读全文
AgileEAS.NET平台开发实例-药店系统-快速的SAAS开发体验[转]
摘要:AgileEAS.NET平台开发实例-药店系统-快速的SAAS开发体验 2011-05-18 16:33 by 魏琼东, 1033 visits, 网摘, 收藏, 编辑一、AgileEAS.NET应用开发简介在4月份,callhot写过一系列的有关于AgileEAS.NET平台的开发应用的系列AgileEAS.NET平台开发Step By Step系列-药店系统-索引,他通过一个接近于实际应用的案例,从头到尾的向大家展示了AgileEAS.NET平台在企业信息系统开发中的应用及其应用开发的过程。AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信.
阅读全文
.NET实现之(WebService数据提供程序)
摘要:说起数据提供程序大家都不陌生,数据提供程序的作用就是以统一的接口去访问不同的数据源,如OledbProvider、SqlServerProvider、OrcaleProvider等等;不同数据源的访问其实是不一样的,微软数据源的访问方式从ODBC到ADO.NET经历了很多路程,各大数据源提供商,都在不断的生产不同结构的数据库,为了以统一的接口去访问各种不同的数据源,微软的.NET为我们提供了ADO.NET,我们通过ADO.NET可以很方便的访问不同厂商生产的不同数据库,ADO.NET也为后期自定义数据提供程序规定了一套接口,只要我们自己去实现它就可以用同一种方式,访问我们自己的数据源,我们可以
阅读全文
.NET实现之
摘要:做开发的人,尤其是做客户端(C/S)系统开发的人都会遇到一个头疼的问题,就是软件的自动更新;系统发布后怎样自动的更新程序,在下有幸开发过一个自动更新程序,更新程序与任何宿主程序是完全独立的;只要在主程序里面启动更新程序就行了;更新程序也是一个可执行文件,在启动的时候可以设置是否是自动更新和是否是手动更新,自动更新的意思就是说不需要人工的干预实现从远程服务器下载更新包,而如果是手动更新就会涉及到用户点击程序中的按钮实现更新;在自动更新与手动更新中可以根据项目的需要进行选择,有的程序必须要求用户进行更新才能继续使用,所以程序自动更新是有必要的;手动更新就是用户可以随时更新程序,不需要严格的控制版本
阅读全文
站内搜索(主要技术点:Luncene.Net搜索引擎核心,Log4Net:日志,定时框架:quartz.Net,Jquery,Json,AJAX)
摘要:站内搜索(主要技术点:Luncene.Net搜索引擎核心,Log4Net:日志,定时框架:quartz.Net,Jquery,Json,AJAX)1.和用“select*from t where body like %计算机%”的区别:(1)效率。Like会造成全表扫描。(2)Like无法实现“怎样学编程”“匹配”“怎样学习编程”.为什么不用discuz的搜索,因为discuz的就是用like实现.蜘蛛,spider 爬网站.百度蜘蛛工作图详情介绍:http://baike.baidu.com/view/1847001.htm爬网站的过程:1,发现网站.百度把CSDN当成关键网站,顺着已知的网
阅读全文
在C#里使用属性,如Obsolete,Serializable,XmlRoot
摘要:在C#里使用属性,如Obsolete,Serializable,XmlRoot 收藏 原文:Using Attribute In C# 绪论 属性是一种新的声明性信息.使用属性既可以定义设计级信息(例如一个帮助文件或一个文档链接)又可以定义运行时信息(例如使一个XML和一个类相关联).也可以使用属性创建"自描述"组件.通过此篇教程,我们将了解如何创建并附加属性到不同的程序实体,和在运行时如何找到属性信息.定义MSDN的描述是(ms-help://MS.MSDNQTR.2002APR.1033/csspec/html/vclrfcsharpspec_17_2.htm):&qu
阅读全文
使用 .NET4 中的Task优化线程池【.NET4 多核并行】
摘要:阅读本篇前,读者需对.NET4 System.Threading.Tasks 以及 Task Schedulers 有一定的了解。如果不是很了解,请查阅以下相关信息: Task:http://msdn.microsoft.com/en-us/library/system.threading.tasks.task%28VS.100%29.aspx Task Schedulers:http://msdn.microsoft.com/en-us/library/dd997402.aspx 首先回顾相关场景:最近工作需要一直在.NET4下编写window service。在WindowsService
阅读全文
新版微软一站式示例代码库5月6日
摘要:新版微软一站式示例代码库 5月6日更新下载。下载地址:http://1code.codeplex.com/releases/view/65772你也可以通过示例代码浏览器,按需下载和管理所需的示例代码。如果您是第一次听说All-In-One Code Framework(一站式示例代码库)这个项目,请参阅微软一站式开发技术框架解决方案 中文说明,以及这段视频:http://www.microsoft.com/showcase/en/us/details/40015bbc-2ded-4aba-9613-2c5a47ee3084。----------------------------------
阅读全文
使用 .NET 4.0 中的Lazy<T> 实现延迟初始化
摘要:延迟初始化就是将对象的初始化延迟到第一次使用该对象时。延迟初始化是我们在写程序时经常会遇到的情形,例如创建某一对象时需要花费很大的开销,而这一对象在系统的运行过程中不一定会用到,这时就可以使用延迟初始化,在第一次使用该对象时再对其进行初始化,使用延迟初始化可以提高程序的效率,使程序占用更少的内存。在 .NET 4.0 之前要实现延迟初始化,需要我们自己动手编写具体的实现方式(关于延迟初始化的实现方式,可以参看这个http://msdn.microsoft.com/en-us/vcsharp/bb870976.aspx .NET 4.0 的 Lazy<T> 的实现方式与此相似)。在
阅读全文
.NET 中的泛型
摘要:泛型是 .NET 2.0 中引入的一个新特性,从 .NET 2.0 发布到现在已经过去好多年的时间了,到现在很多公司在面试时都喜欢问诸如用过泛型吗、什么是泛型、怎么写泛型之类的问题。似乎泛型是什么高深莫测的绝学了,犹如辟邪剑法一样,一般人难以运用。其实虽然每个 .NET 程序员的具体工作内容不一样,但是对于 .NET 里的一些基本的东西的运用相差不会很大,我想对于学过C# 的刚毕业的学生也不至于没有用过泛型。下面我就简单说一下泛型。泛型将类型参数的概念引入了 .NET 中,类型参数使类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。使用泛型可以最大限度地重用代码、保护
阅读全文