【NET技术焦点】C#多线程学习(六) 互斥对象
系列文章导航:C#多线程学习(一) 多线程的相关概念C#多线程学习(二) 如何操纵一个线程C#多线程学习(三) 生产者和消费者C#多线程学习(四) 多线程的自动管理(线程池)C#多线程学习(五) 多线程的... [详细]
系列文章导航:C#多线程学习(一) 多线程的相关概念C#多线程学习(二) 如何操纵一个线程C#多线程学习(三) 生产者和消费者C#多线程学习(四) 多线程的自动管理(线程池)C#多线程学习(五) 多线程的... [详细]
系列文章导航:C#多线程学习(一) 多线程的相关概念C#多线程学习(二) 如何操纵一个线程C#多线程学习(三) 生产者和消费者C#多线程学习(四) 多线程的自动管理(线程池)C#多线程学习(五) 多线程的... [详细]
系列文章导航:C#多线程学习(一) 多线程的相关概念C#多线程学习(二) 如何操纵一个线程C#多线程学习(三) 生产者和消费者C#多线程学习(四) 多线程的自动管理(线程池)C#多线程学习(五) 多线程的... [详细]
系列文章导航:C#多线程学习(一) 多线程的相关概念C#多线程学习(二) 如何操纵一个线程C#多线程学习(三) 生产者和消费者C#多线程学习(四) 多线程的自动管理(线程池)C#多线程学习(五) 多线程的... [详细]
缘起 每次有新技术发布时,我们总能感受到两种截然不同的情绪:一种是恐惧和抵抗,伴随着这种情绪的还有诸如"C# 2.0用的挺好的,为什么要在C# 3.0搞到那么复杂?"或者"我还在使用C#1.0呢?"等言辞;...
软件工程是一门独特的工程艺术,需要解决的是不断改变的需求变化。而对于WCF,对于SOA,由于涉及的是对多个系统之间的交互问题,如何有效地解决不断改变的需求所带来的问题就显得更为重要:Service端...
在本篇文章上一部分Order Processing的例子中,我们看到原本已Collection形式定义的DetailList属性(public IList<TDetail> DetailList),在Data Contract中却以Array的方式体现(public OrderDetai...
通过第一部分的介绍,我们可以体会到,WCF 的Data Contract在CLR Type和Neutral Contract之间搭建了一座桥梁,弥合了.NET世界和厂商中立世界的差异。通过WCF Data Contract我们将CLR Data Type暴...
今天早上,ASP.NET组发布了ASP.NET 3 RC版(release candidate)。你们可以从这里进行下载here. ASP.NET MVC 3是个很完美的发布,增加了大量的功能改进。它可以向后兼容ASP.NET MVC V1 和 V2,可以轻易的升级你...
在众多.NET应用下的代码生成方案中,比如CodeDOM,BuildProvider, 我觉得T4是最好的一种。关于T4的基本概念和模板结果,可以参考我的文章《基于T4的代码生成方式》。如果要了解T4具体的应用,则可以参考我的文章《...
今天的内容比较简单,也是本章的一个收尾! Anemic Domain Model 这种模式和之前讲述的Domain Model有很多的相似的地方。在之前的Domain Model中,每个业务类都包含了自己的业务逻辑和数据,以及对象之前的关...
相关文章:.NET十年(下) 引言 语言是程序开发者行走江湖的手上利器,各大门派的高手在论坛、博客为了自家门派争吵不已早是技术世界中的亮丽风景,虽多少为刚刚踏入江湖的新手提供了思考的素材,但也同时迷惑了...
相关文章:.NET十年(上) 引言 语言是程序开发者行走江湖的手上利器,各大门派的高手在论坛、博客为了自家门派争吵不已早是技术世界中的亮丽风景,虽多少为刚刚踏入江湖的新手提供了思考的素材,但也同时迷惑了...
长期以来,使用Web控件的开发者都欣赏这些控件所具有的高生产力,但在控制它们生成的标记方面却付出了一定的代价。例如,许多ASP.NET控件会自动地使用元素来包装它们的内容,原因是为了方便布局或样式控制。然而,这...
编程时犯错是必然的,即使是一个很小的错误也可能会导致昂贵的代价,聪明的人善于从错误中汲取教训,尽量不再重复犯错,在这篇文章中,我将重点介绍C#开发人员最容易犯的7个错误。 格式化字符串 在C#编程中,字符...
富图像应用(第一部分) 在这章,你会学到下列内容:使用Deep Zoom Composer 工具建立高质量、高度友好的图像。组合为平滑、可缩放的全景图像。建立以编程形式方式控制的深度缩放的Silverlight应用程序。使用Pho...
现在,C#创建不规则窗体不是一件难事,下面总结一下: 一、自定义窗体,一般为规则的图形,如圆、椭圆等。做法:重写Form1_Paint事件(Form1是窗体的名字),最简单的一种情况如下:System.Drawing.Drawing2D.GraphicsPat...
教导如何用 C# 创建 Code 39 编码的「条码 (barcode)」图片,以供 ASP.NET + Crystal Reports 水晶报表呈现和打印此条码。本帖提供 ASP.NET 3.5 示例下载。本帖的示例下载点:http://files.cnblogs.com/WizardWu/10...
.NET Framework Client Profile是.NET Framework的裁剪版本。它面向客户端应用程序。它提供 Windows Presentation Foundation (WPF)、Windows 窗体、Windows Communication Foundation (WCF)和 ClickOnce 功能...
整体上DNN5和其它比较大的企业级应用系统一样分为web服务器和数据库服务器。Web服务器包括表现层,商业逻辑层和数据访问层,而数据库服务器主要是数据层。如下图: 首先给大家介绍下DNN的表现层,上图中...
Deep Zoom程序设计 到目前为止,你已经见识了Deep Zoom Composer工具,也见到了Deep Zoom 多图像的浏览器应用程序。不过你可能还需要知道怎样设计这样的程序。 因此,在这一节中,你将能够在Silverlight中开...
Isolated Storage是针对各个独立用户分配的单独的虚拟存储空间,在Windows会存储在/%AppData%/LocalLow/Microsoft/Silverlight/is, 而在Mac OS X会存储在 /Users/<user>/Library/Application Support/Microsof...
Linq有很多值得学习的地方,这里我们主要介绍学习Linq,包括介绍Linq目标是实现语言与数据的深度结合等方面。 上一个系列讲了C#3.0的新特性,为学习Linq做好了铺垫;接下来的一段时间转入学习Linq,上述新特性也会...
由于上篇文章漏了一些比较重要的知识,在此文中补充。 断点篇 命中次数(Hit Counts) 右击断点,可以设置Hit Counts(命中次数),会弹出如下的对话框: 当条件满足的时候断点会被命中(即即将被执行),这个命...
在讨论完四种模式之后,我将会和大家一起来看看DDD的一些知识。每种模式的讲解,我都会用实例的形式给出完整的代码,也希望大家多琢磨! 不是所有的应用程序都是一样的,也不是所有的系统都需要用复杂的架构来组织...
网络上设置Silverlight动态访问WCF服务,大多是抛开ServiceReferences.ClientConfig文件,完全以代码方式实现对WCF的动态访问。但这种做法存在实现复杂和局限性。在实际使用的过程中,出于安全等原因,很多时候需要...
1、ExecuteQuery方法 看命名,我们很容易联想到ado.net里熟悉的Command的ExecuteNonQuery方法,但是VS的智能提示告诉我们这个方法返回的是一个泛型集合,应该“所思非所得”。下面通过一个简单方法,...
本文涉及到一些JVM原理和Java的字节码指令,推荐感兴趣的读者阅读一本有关JVM的经典书籍《深入Java虚拟机(第2版)》,将它与我在《.NET 4.0面向对象编程漫谈》中介绍的CLR原理与IL汇编指令作个对比,相信读者会有...
在上一篇文章中,我们讨论了两种组织业务逻辑的模式:Transaction Script和Active Record。在本篇中开始讲述Domain Model和Anemic Model。 Domain Model 在开发过程中,我们常常用Domain Model来对目标的业...
接上篇 4.数据访问层设计 数据访问层,这块要说的不多。但是要澄清一点:数据访问不一定就是访问数据库,虽然多数的情况下,我们确实把数据存储在数据库中。 这里我们用数据库存储数据,并且用Linq To Sql来...
1.阐明示例需求 本篇还是用之前的电子商务网站中的一个简单的场景来讲述:在页面上需要显示产品的列表信息。并且根据产品的类型不同,计算出相应的折扣。 在上篇中,我们已经设计项目的逻辑分层。我们再来回顾...
本篇主要讲述ASP.NET应用中如何进行逻辑分层。本篇的前篇会从Smart UI 反模式和它的一些缺点开始讲述,然后一步步的讲述如何逻辑分层,而且在后篇中也会给出一个ASP.NET设计中常用的仅供参考的分层架构的Demo。...
再次申明一下:本系列不是讲述TDD的,只是用TDD来建立设计的思想。即便是用DDD,有时候还是结合TDD一起使用的。 开发方式比较 我们用下面的一段分析来引出今天的内容: 想想我们平时是如何在写代码:拿来需...