代码改变世界

随笔分类 - [01].NET技术

一起谈.NET技术,Mono向Mac OS应用程序开发示好

2011-09-02 00:21 by 狼人:-), 252 阅读, 收藏, 编辑
摘要: Mono正在努力改进各个平台上的使用体验。近日Miguel de Icaza在博客上宣布MonoMac发布了新的版本。MonoMac是面向Mac OSX API的C#绑定,其API设计主要受到了MonoTouch的启发,后者可以基于Mono开发原生的iOS应用程序。MonoMac套件的目标之一,也是发布独立的.app应用程序,让最终用户摆脱对Mono的依赖。 多年以前,Geoff Norton创建了CocoaSharp,这是第一套面向Cocoa API的.NET绑定。从那时起,Mono用户开始尝试利用.NET客户端调用Objective-C的API。几年下来,也出现了其他几个设法集成Objec 阅读全文

一起谈.NET技术,WPF 企业内训全程实录(中)

2011-09-02 00:21 by 狼人:-), 248 阅读, 收藏, 编辑
摘要: 摘要 WPF企业内训全程实录由于文章比较长,所以一共拆分成了三篇,上篇WPF企业内训全程实录(上)主要讲了基础,这篇作为该实录的中篇,起着承上启下的作用,主要讲解开发模式、团队协作及应用框架。其实如果大家仔细看目录,可以发现我安排的顺序是首先讲解最基本的概念和基础内容、然后过渡到开发模式及框架、最后结合其他技术和项目实际运用,这也是学习并应用一门技术最好的流程。上篇实际上主要有两个侧重点:一则就是理清脉络——历史渊源、概念引入及基本阐述;二则是讲解WPFBasic——主要讲解WPF的每个知识点,涵盖了WPF的方方面面;如果大家感兴趣,可以下载代码进行仔细研究,如果有不懂的地方也可以参考... 阅读全文

一起谈.NET技术,WPF企业内训全程实录(上)

2011-09-02 00:21 by 狼人:-), 212 阅读, 收藏, 编辑
摘要: 一. 摘要 圣殿骑士由于工作和项目需要,所以对一些技术进行了较为深入的研究,之前在整个公司做过一些技术专场的培训,由于每次时间较短且人员较多的关系,没能讲得很透彻。一直都想以文字的形式把这些培训细节写出来,但是发现进度确实很慢,所以先来几篇宏观的讲解,希望能起到“授人与鱼也授人以渔”的效果。今天我们就来分享一下WPF内训之旅,这篇文章以WPF培训为主线,中间贯穿了一些其他技术和使用心得。其他培训专题诸如“OO到设计模式”、“WCF基础到企业应用“Silverlight基础到企业应用及优化”随后也会奉上,热诚和大家互相学习,如果有讲得不妥之处,也希望大家能够多多指点! 二. 本文提纲... 阅读全文

一起谈.NET技术,利用WPF建立自适应窗口大小布局的WinForm窗口

2011-09-02 00:20 by 狼人:-), 460 阅读, 收藏, 编辑
摘要: 编写WinForm程序时,都会碰到一个问题。就是WinForm窗口在不同分辨率下的大小问题。举例说明,你编写的WinForm窗口在1024×768下是合适、匀称的。不过,如果用户的计算机的分辨率为1400×900时,你的WinForm窗口就显得偏小,其中的字体和控件都显得偏小。如果用户的分辨率为640×480,那你的窗口就远远超过它的屏幕的大小。 如何解决这个问题?一般的WinForm程序都会这样操作:程序启动——》获取屏幕分辨率——》调整窗体的大小——》调整各个控件大小及位置——》调整各个控件的字体。这样操作比较繁琐,并且要考虑到各种分辨率的情况。这样一来,如果 阅读全文

一起谈.NET技术,Silverlight3动态访问wcf

2011-09-02 00:20 by 狼人:-), 155 阅读, 收藏, 编辑
摘要: 网络上设置Silverlight动态访问WCF服务,大多是抛开ServiceReferences.ClientConfig文件,完全以代码方式实现对WCF的动态访问。但这种做法存在实现复杂和局限性。在实际使用的过程中,出于安全等原因,很多时候需要通过自定义绑定,设置很多内容。通过VS中的向导生成Silverlight对WCF的访问,能够自动识别这些内容,并自动生成ServiceReferences.ClientConfig文件,简单地实现对服务的访问,但手动通过代码实现这些绑定,显然难度比VS向导方式大了很多,而且一旦服务的绑定等发生变化,Silverlight端代码的修改也非常麻烦。 ... 阅读全文

一起谈.NET技术,走向ASP.NET架构设计——第四章:业务层分层架构(前篇)

2011-09-02 00:20 by 狼人:-), 234 阅读, 收藏, 编辑
摘要: 在讨论完四种模式之后,我将会和大家一起来看看DDD的一些知识。每种模式的讲解,我都会用实例的形式给出完整的代码,也希望大家多琢磨! 不是所有的应用程序都是一样的,也不是所有的系统都需要用复杂的架构来组织业务逻辑。作为开发人员,我们必须清楚每一种业务逻辑组织的模式,这样我们才能在需要的时候做出合适的选择。 Transaction Script 这种组织业务逻辑的模式是最简单,也是最容易理解的。Transaction Script模式就是用面向过程的方式来组织业务逻辑的。通常情况下,系统的一个流程就被实现为一个方法,然后把所有的这些方法组织在一起,放在一个静态的manager类或者... 阅读全文

一起谈.NET技术,linq2sql:直接执行sql语句

2011-09-02 00:20 by 狼人:-), 329 阅读, 收藏, 编辑
摘要: 1、ExecuteQuery方法 看命名,我们很容易联想到ado.net里熟悉的Command的ExecuteNonQuery方法,但是VS的智能提示告诉我们这个方法返回的是一个泛型集合,应该“所思非所得”。下面通过一个简单方法,验证我们的猜想(数据库设计可以参考这一篇): Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/// <summary>/// 直接执行sql语句,获取总人数/// </summary>/// 阅读全文

一起谈.NET技术,C#之int挑战Java之Integer

2011-09-02 00:20 by 狼人:-), 246 阅读, 收藏, 编辑
摘要: 本文涉及到一些JVM原理和Java的字节码指令,推荐感兴趣的读者阅读一本有关JVM的经典书籍《深入Java虚拟机(第2版)》,将它与我在《.NET 4.0面向对象编程漫谈》中介绍的CLR原理与IL汇编指令作个对比,相信读者会有一定的启发。而仔细对比两个类似事物的异同,是很有效的学习方法之一。 今后我还将在个人博客上放出其他的文章,希望能帮助书的读者开拓视野,启发思考,大家一起探讨技术的奥秘。 本文所述之内容仅代表个人之理解,任何疏漏及错误请直接回贴指出。 1 奇特的程序输出 前段时间,一个学生给我看了一段“非常诡异”的Java代码: Code highlighting ... 阅读全文

一起谈.NET技术,走向ASP.NET架构设计——第三章:分层设计,初涉架构(后篇)

2011-09-02 00:20 by 狼人:-), 279 阅读, 收藏, 编辑
摘要: 接上篇 4.数据访问层设计 数据访问层,这块要说的不多。但是要澄清一点:数据访问不一定就是访问数据库,虽然多数的情况下,我们确实把数据存储在数据库中。 这里我们用数据库存储数据,并且用Linq To Sql来进行数据访问操作。 下面我们就来实现数据操作的一些代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public class ProductRepository : IProductRepository ... 阅读全文

一起谈.NET技术,关于C#线程,线程池和并行运算的简单使用和对比

2011-09-02 00:20 by 狼人:-), 424 阅读, 收藏, 编辑
摘要: 前言:看了书上两个使用C#4.0并行编程的demo,又对照以前收藏的网上几篇讲述线程池的雄文,一并整理,写个示例总结一下。写这篇文章的时候,发现关于线程的好几个基础的重要的知识点自己都不熟悉,而且可能习惯性认知浅薄,所以痛苦的无以复加,不知道到底要说什么。不想看文章的可以直接下载最后的示例,本文代码主要参考Marc Clifton的“.NET's ThreadPool Class - Behind The Scenes”,对新手也许有帮助。 参考: http://msdn.microsoft.com/zh-cn/library/system.threading.threadpoo... 阅读全文

一起谈.NET技术,走向ASP.NET架构设计——第五章:业务层模式,原则,实践(前篇)

2011-09-02 00:20 by 狼人:-), 195 阅读, 收藏, 编辑
摘要: 在上一章中,我们讲述了有关业务层分层的一些知识,下面我们就来看看,在具体的业务层的设计中,我们可以采用哪些模式可以将业务层设计的更加的灵活! 架构模式 首先我们就来看看,如何更加有效的组织业务规则。 Specification Pattern(需求规格模式) 这个模式的使用方法就是:把业务规则放在业务类的外面,并且封装成为一个个返回boolean值的算法。这些一个个的业务规则的算法不仅仅便于管理和维护,并且还可以被重用,而且很方便的组织成为复杂的业务逻辑。 下面我们就来看一个以在线租DVD的公司的例子。例子很简单,场景也很简单:判断一个用户是否可以租更多的DVD。下面就... 阅读全文

一起谈.NET技术,VS2010&amp;.Net 4.0 之并行运算(Parallel)(For、Foreach)

2011-09-02 00:20 by 狼人:-), 232 阅读, 收藏, 编辑
摘要: VS2010&.Net 4.0的Beta2相比Beta1在性能上有了很大的改进,已经基本可以使用了。.NET 4.0给我们带来许多新特性,如动态类型、云平台、并行运算等。本文讨论一下.NET 4.0的并行运算。 其实并行运算并不是在.Net 4.0才有的。大家都知道,通过增加CPU的主频可以提高CPU的性能,但由于设计的限制,主频是不可能无限制的提高。这个时候,把提高性能的方式转向使用多个心(多核),现在的电脑几乎都是多核的。但在软件中并还没有跟上这个节奏,大多数软件还是采用传统的方式,并没有很好的发挥多核的优势。 微软的并行运算平台(Microsoft’s Parallel Co.. 阅读全文

一起谈.NET技术,浅析Visual Studio 2010中常见Web.Config变换

2011-09-02 00:20 by 狼人:-), 201 阅读, 收藏, 编辑
摘要: 我最近一直在摆弄Visual Studio 2010 Beta版,我最喜欢的一个新的特点(新特点很多)是新版web.config变换。 Web.config变换是启动设定,所以你的每个编译链接设置都有一个设置“delta”(默认的是Debug和Release)。当你建立你的解决方案(比如当你发布一个包的时候)你原始的Web.config会根据你的Web.debug.config文件中的设置变换(以debug设置为例)。 有很多日志和MSDN可供你参考,但是我想我应该写一个简明扼要的帖子,它可以让你熟悉怎样进行一些常见的web.config变换。 首先,回顾一下XDT的简单知识... 阅读全文

一起谈.NET技术,WPF 浏览PDF 文件

2011-09-02 00:20 by 狼人:-), 515 阅读, 收藏, 编辑
摘要: 很长时间没写文章感觉手有点生了,前段时间忙的要死公事、家事、私事,事事操心。还好现在有些时间可以继续写博客了。本篇将为大家演示如何在WPF 程序中浏览PDF 文件,本例将通过Adobe PDF Reader COM 组件、WinForm 与WPF 集成方面的工具实现PDF 浏览功能。 用户控件 打开VS2010,新建项目(WpfPDFReader),右键项目添加User Control(用户控件)。因为Adobe PDF Reader COM 组件是不支持WPF的,为此我们需要将它放到WinForm 控件中。所以,在列表中需要选择User Control,而不是User Control... 阅读全文

一起谈.NET技术,编写T4模板无法避免的两个话题:&quot;Assembly Locking&quot;&amp;&quot;Debug&quot;

2011-09-02 00:20 by 狼人:-), 207 阅读, 收藏, 编辑
摘要: 在这之前,我写了一系列关于代码生成和T4相关的文章,而我现在也试图将T4引入我们自己的开发框架。在实践中遇到了一些问题,也解决了不少问题。如果你也在进行T4相关的开发,相信你也一定会遇到这些问题。为此,特意将这些问题和解决方案与朋友们分享,希望在遇到这些问题的时候少走弯路。本篇文章介绍的是两个重要的话题:程序集锁定和调试。 目录 一、程序集引用导致的编译问题 二、T4引擎对引用程序集的锁定 三、Debugger.Break导致VS 2010的Crash 四、在Debugger.Break之前加上Debugger.Launch 一、程序集... 阅读全文

一起谈.NET技术,敏捷十年,成效几何?

2011-09-02 00:20 by 狼人:-), 205 阅读, 收藏, 编辑
摘要: 自从编程界的领袖们发表旨在通过接受需求变更,加强同用户合作,缩短软件提交周期来改善软件开发过程的敏捷软件开发宣言至今已近10年之久了。 敏捷宣言制定2001年2月,当时一群软件开发者聚集在犹他州,他们希望能找到一种可以替代那些由文档驱动的、“重型”的软件开发模式(如当时的被当作金牌标准的瀑布模型方法)的新方法。 尽管早在犹他州会议之前,敏捷开发方法就已经出现,但这次会议却被当作这种方法论推广进程中的一次分水岭事件。十年以来,敏捷开发已被众所周知,很多软件公司采纳了Scrum和XP(极限编程)等敏捷开发实施方案。尽管还存在着不可预知的问题,敏捷方法领域里的专家都认为,总的来说,敏捷方法... 阅读全文

一起谈.NET技术,VS 2010中内核窗户问题解析

2011-09-02 00:20 by 狼人:-), 224 阅读, 收藏, 编辑
摘要: 随着微软Visual Studio 2010和.NET Framework 4.0的推出,微软向开发人员提供了创建多线程应用程序的更好的工具和类库。在这篇文章中,笔者将为您介绍Concurrency Visualizer的新功能是什么以及它能够提供什么类型的信息。 要把Visual Studio 2010的Concurrency Visualizer功能真正地应用到业务中,你需要点击最初的资源冲突表上面的三个按钮。让我们首先点击左边的处理器利用率图表(见图4)。 这个处理器利用率图表显示你的应用程序如何在使用处理器的整个状况的一个可视化的指标。这个图表显示Windows可用的逻... 阅读全文

一起谈.NET技术,ASP.NET调用.sql文件

2011-09-02 00:20 by 狼人:-), 182 阅读, 收藏, 编辑
摘要: 笔者好久没有写随笔了,这次是遇到提出这样的问题“不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个页面,然后根据向导一步一步引导用户安装生成数据库”那么这样做就需要一个创建数据库的语句和创建这些数据库表的语句,还有这些创建数据库视图以及函数的语句。创建数据库语句好办。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->"IF Not EXISTS (select name from master.dbo.sy 阅读全文

一起谈.NET技术,在MVC2.0 中 遭遇无法被 Try Catch 的 “Exception”

2011-09-02 00:20 by 狼人:-), 166 阅读, 收藏, 编辑
摘要: 前天当我为新项目新增完日志模块后对日志模块进行测试,测试时居然发现开发人员一段非常简单的代码,而且很标准的try ... catch .. 写法。代码整理如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public JsonResult SaveTest(){ try { //LinqToSql:返回IQueryable数据集合。 var iQueryableData = (from o in... 阅读全文

一起谈.NET技术,ASP.NET MVC 2中使用jQuery UI控件详解

2011-09-02 00:20 by 狼人:-), 274 阅读, 收藏, 编辑
摘要: 问:我想给我的ASP.NET MVC输入表单添加一个日期选择控件,但模型-视图-控制器(MVC)并没有提供这样的辅助方法,我该如何添加控件? 答:和ASP.NET Web表单不一样,MVC架构没有提供可以在设计面板中拖放的有状态的服务端控件,相反,MVC鼓励使用简单的HTML布局元素和基于数据的标签作为页面布局的要素,功能和最终的布局用客户端JavaScript和CSS样式表控制。 MVC提供了一套基于HtmlHelper的扩展方法渲染大部分HTML标签,对于更复杂的功能,你需要自己编写HTML/JavaScript代码,购买第三方MVC控件包或使用开源的JavaScript库,... 阅读全文
上一页 1 2 3 4 5 6 ··· 56 下一页