摘要:自从编程界的领袖们发表旨在通过接受需求变更,加强同用户合作,缩短软件提交周期来改善软件开发过程的敏捷软件开发宣言至今已近10年之久了。 敏捷宣言制定2001年2月,当时一群软件开发者聚集在犹他州,他们希望能找到一种可以替代那些由文档驱动的、“重型”的软件开发模式(如当时的被当作金牌标准的瀑布模型方法)的新方法。 尽管早在犹他州会议之前,敏捷开发方法就已经出现,但这次会议却被当作这种方法论推广进程中的一次分水岭事件。十年以来,敏捷开发已被众所周知,很多软件公司采纳了Scrum和XP(极限编程)等敏捷开发实施方案。尽管还存在着不可预知的问题,敏捷方法领域里的专家都认为,总的来说,敏捷方法... 阅读全文
一起谈.NET技术,VS 2010中内核窗户问题解析
2011-09-02 00:20 by 狼人:-), 248 阅读, 0 推荐, 收藏,
摘要:随着微软Visual Studio 2010和.NET Framework 4.0的推出,微软向开发人员提供了创建多线程应用程序的更好的工具和类库。在这篇文章中,笔者将为您介绍Concurrency Visualizer的新功能是什么以及它能够提供什么类型的信息。 要把Visual Studio 2010的Concurrency Visualizer功能真正地应用到业务中,你需要点击最初的资源冲突表上面的三个按钮。让我们首先点击左边的处理器利用率图表(见图4)。 这个处理器利用率图表显示你的应用程序如何在使用处理器的整个状况的一个可视化的指标。这个图表显示Windows可用的逻... 阅读全文
一起谈.NET技术,利用WPF建立自适应窗口大小布局的WinForm窗口
2011-09-02 00:20 by 狼人:-), 557 阅读, 0 推荐, 收藏,
摘要:编写WinForm程序时,都会碰到一个问题。就是WinForm窗口在不同分辨率下的大小问题。举例说明,你编写的WinForm窗口在1024×768下是合适、匀称的。不过,如果用户的计算机的分辨率为1400×900时,你的WinForm窗口就显得偏小,其中的字体和控件都显得偏小。如果用户的分辨率为640×480,那你的窗口就远远超过它的屏幕的大小。 如何解决这个问题?一般的WinForm程序都会这样操作:程序启动——》获取屏幕分辨率——》调整窗体的大小——》调整各个控件大小及位置——》调整各个控件的字体。这样操作比较繁琐,并且要考虑到各种分辨率的情况。这样一来,如果 阅读全文
一起谈.NET技术,关于C#线程,线程池和并行运算的简单使用和对比
2011-09-02 00:20 by 狼人:-), 454 阅读, 0 推荐, 收藏,
摘要:前言:看了书上两个使用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 狼人:-), 219 阅读, 0 推荐, 收藏,
摘要:在上一章中,我们讲述了有关业务层分层的一些知识,下面我们就来看看,在具体的业务层的设计中,我们可以采用哪些模式可以将业务层设计的更加的灵活! 架构模式 首先我们就来看看,如何更加有效的组织业务规则。 Specification Pattern(需求规格模式) 这个模式的使用方法就是:把业务规则放在业务类的外面,并且封装成为一个个返回boolean值的算法。这些一个个的业务规则的算法不仅仅便于管理和维护,并且还可以被重用,而且很方便的组织成为复杂的业务逻辑。 下面我们就来看一个以在线租DVD的公司的例子。例子很简单,场景也很简单:判断一个用户是否可以租更多的DVD。下面就... 阅读全文
一起谈.NET技术,VS2010&.Net 4.0 之并行运算(Parallel)(For、Foreach)
2011-09-02 00:20 by 狼人:-), 258 阅读, 0 推荐, 收藏,
摘要: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 狼人:-), 224 阅读, 0 推荐, 收藏,
摘要:我最近一直在摆弄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 狼人:-), 676 阅读, 0 推荐, 收藏,
摘要:很长时间没写文章感觉手有点生了,前段时间忙的要死公事、家事、私事,事事操心。还好现在有些时间可以继续写博客了。本篇将为大家演示如何在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模板无法避免的两个话题:"Assembly Locking"&"Debug"
2011-09-02 00:20 by 狼人:-), 233 阅读, 0 推荐, 收藏,
摘要:在这之前,我写了一系列关于代码生成和T4相关的文章,而我现在也试图将T4引入我们自己的开发框架。在实践中遇到了一些问题,也解决了不少问题。如果你也在进行T4相关的开发,相信你也一定会遇到这些问题。为此,特意将这些问题和解决方案与朋友们分享,希望在遇到这些问题的时候少走弯路。本篇文章介绍的是两个重要的话题:程序集锁定和调试。 目录 一、程序集引用导致的编译问题 二、T4引擎对引用程序集的锁定 三、Debugger.Break导致VS 2010的Crash 四、在Debugger.Break之前加上Debugger.Launch 一、程序集... 阅读全文
一起谈.NET技术,C#创建不规则窗体的几种方式
2011-09-02 00:20 by 狼人:-), 310 阅读, 0 推荐, 收藏,
摘要:现在,C#创建不规则窗体不是一件难事,下面总结一下: 一、自定义窗体,一般为规则的图形,如圆、椭圆等。
做法:重写Form1_Paint事件(Form1是窗体的名字),最简单的一种情况如下:
System.Drawing.Drawing2D.GraphicsPath shape = new System.Drawing.Drawing2D.GraphicsPath();
shape.AddEllipse(0,0,this.Height, this.Width);
this.Region = new Region(shape);
即重绘窗体的规则。 二、利用背景图片实现 1. 设置窗体的背... 阅读全文
一起谈.NET技术,ASP.NET调用.sql文件
2011-09-02 00:20 by 狼人:-), 205 阅读, 0 推荐, 收藏,
摘要:笔者好久没有写随笔了,这次是遇到提出这样的问题“不用附加数据库,什么修改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 狼人:-), 189 阅读, 0 推荐, 收藏,
摘要:前天当我为新项目新增完日志模块后对日志模块进行测试,测试时居然发现开发人员一段非常简单的代码,而且很标准的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 狼人:-), 304 阅读, 0 推荐, 收藏,
摘要:问:我想给我的ASP.NET MVC输入表单添加一个日期选择控件,但模型-视图-控制器(MVC)并没有提供这样的辅助方法,我该如何添加控件? 答:和ASP.NET Web表单不一样,MVC架构没有提供可以在设计面板中拖放的有状态的服务端控件,相反,MVC鼓励使用简单的HTML布局元素和基于数据的标签作为页面布局的要素,功能和最终的布局用客户端JavaScript和CSS样式表控制。 MVC提供了一套基于HtmlHelper的扩展方法渲染大部分HTML标签,对于更复杂的功能,你需要自己编写HTML/JavaScript代码,购买第三方MVC控件包或使用开源的JavaScript库,... 阅读全文
一起谈.NET技术,.NET平台上的JavaScript引擎
2011-09-02 00:20 by 狼人:-), 565 阅读, 0 推荐, 收藏,
摘要:长久以来,在.NET平台上只能通过JScript.NET执行ECMAScript/JavaScript代码,但是该项目一直是.NET语言中的二等公民,甚至Mono中的对应项目也已经无人维护。不过在JScript.NET逐渐淡出人们视线的时候,.NET平台上也出现了一些新的JavaScript执行引擎,虽不完善,但值得关注。 Jint是一个相对较早的纯托管代码实现的JavaScript执行引擎,基于MIT授权协议开源,它的目标是为.NET应用程序提供JavaScript代码的执行及互操作能力。您可以将一个.NET对象传入应用程序,或是使用.NET类库。Jint使用ANTLR解析JavaS... 阅读全文
一起谈.NET技术,在ASP.NET网页间传递数据的五种方法
2011-09-02 00:20 by 狼人:-), 193 阅读, 0 推荐, 收藏,
摘要:重点总结
目前为止在ASP.NET网页中传递数据的方式至少有5种:
1、通过查询字符串传递数据。
2、通过HTTP POST传递数据。
3、通过会话状态传递数据。
4、通过源页的公共属性传递数据。
5、通过源页中的控件值传递数据。
到底使用哪种方式来进行数据的传递,这可能受到两方面的影响:
1、页面重定向的方式。
2、源页和目标页是否位于相同的ASP.NET应用程序中。
如果源页和目标页位于不同的ASP.NET应用程序中则只能通过查询字符串和HTTP POST传递数据。
而如果源页和目标页位于相同的ASP.NET应用程序中,则可以使用五种方式中的任意一种。 一、通过查询字符串传递数据
下面的. 阅读全文
浙公网安备 33010602011771号