摘要: .NET性能调优系列文章系列文章索引.NET性能调优之一:ANTS Performance Profiler的使用.NET性能调优之二:使用Visual Studio进行代码度量.NET性能调优之三:YSlow相关规则的调优工具和方法使用Visual Studio进行代码度量在这篇文章里,暂且抛开代码、数据库和网络的优化,从软件代码度量的角度来看看其对.NET性能调优的作用。当软件项目异常庞大的时候,通过简单的CodeReview进行软件复杂度估量和可靠性评测已经变得不太现实,还好有软件来完成这些事情。降低软件的复杂度也会对性能调优带来很大的帮助。在Visual Studio 2008前,进行 阅读全文
posted @ 2013-01-06 10:57 Parry 阅读(6363) 评论(5) 推荐(5) 编辑
摘要: .NET性能调优系列文章系列文章索引.NET性能调优之一:ANTS Performance Profiler的使用.NET性能调优之二:使用Visual Studio进行代码度量.NET性能调优之三:YSlow相关规则的调优工具和方法在使用.NET进行快速地上手与开发出应用程序后,接下来面临的问题可能就是程序性能调优方面的问题,而性能调优有时候会涉及方方面面的问题,如程序宿主系统、数据库、网络环境等等,而当程序异常庞大复杂的时候,性能调优将变得更加无从下手。本系列文章主要会介绍一些.NET性能调优的工具、Web性能优化的规则(如YSlow)及方法等等内容。成文前最不希望看到的就是园子里不间断的 阅读全文
posted @ 2013-01-04 01:29 Parry 阅读(13207) 评论(14) 推荐(24) 编辑
摘要: 问题的引子先来看问题的引子。定义一个下面这样的类,此类有Serializable属性,并且有一个属性的定义没有使用自动属性来实现。 1 [Serializable] 2 public class Users 3 { 4 public int UserID { get; set; } 5 6 public string UserName { get; set; } 7 8 public string UserEmail { get; set; } 9 10 private string _testProperty;11 public string Te... 阅读全文
posted @ 2012-12-04 18:37 Parry 阅读(4092) 评论(6) 推荐(3) 编辑
摘要: 通常我们通过代码混淆、加密的形式达到软件保护的目的。在Web开发里我们接触过的可能就是JS代码加密了,可以通过对JS代码进行混淆、加密从而实现对核心JS代码的保护。如果没有接触过的可以在这里简单了解一下,这次我们就不去细说了。在以前Win32的软件中,加壳脱壳的技术已经发展的非常成熟,国内有大名鼎鼎的看雪、吾爱破解等论坛,三四年前还在上学时,论坛里的大牛一直都是自己的偶像。而.NET程序因为编译结果不是机器代码语言,而是IL语言,所以加壳脱壳相关的软件还不是很多,我搜索到了一些,如VS自带的DotFuscator、.NET Reactor、xeoncode等,这次我们就简单介绍下手边有的.NE 阅读全文
posted @ 2012-11-14 17:18 Parry 阅读(22467) 评论(24) 推荐(22) 编辑
摘要: 在前一篇文章ASP.NET Web API(一):使用初探,GET和POST数据中,我们初步接触了微软的REST API: Web API。我们在接触了Web API的后就立马发现了有安全验证的需求,所以这篇文章我们先来讨论下安全验证一个最简单的方法:使用HTTP基本认证。HTTP基本认证原理在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份认证的方法,当一个客户端向HTTP服务器进行数据请求时,如果客户端未被认证,则HTTP服务器将通过基本认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。其基本的实现方式是:客户端在用户输入 阅读全文
posted @ 2012-11-09 17:10 Parry 阅读(21710) 评论(29) 推荐(63) 编辑
摘要: 前两篇文章在编译配置和ClickOnce发布Winform的时候都遇到了软件版本号的设置,这篇文章就来说说软件版本号的设置原则。1. 软件版本号的定义软件版本号主要标识了软件的版本,通过其可以了解软件、类库文件的当前版本,使得软件版本控制有所依据。我们就Windows系统和.NET Framework的编号规则来看,软件版本号的定义结构一般是这样:主版本号.子版本号.编译版本号.修正版本号我们也可以在项目属性上可以看到相关设置的界面,对应的英文名称分别为:major.minor.build.revisionMajor:具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写, 阅读全文
posted @ 2012-10-31 17:26 Parry 阅读(4929) 评论(4) 推荐(6) 编辑
摘要: 使用ClickOnce发布Winform程序将使得程序的部署变得非常的方便,这篇文章就来介绍下ClickOnce的使用和部署过程中可能遇到的问题,权当梳理知识、日后备用。内容概览ClickOnce简介发布站点建立配置ClickOnce程序发布ClickOnce包问题补遗ClickOnce的一个缺点1. ClickOnce简介微软官方对ClickOnce的解释是:ClickOnce 是一项部署技术,您可以利用这项技术来创建基于 Windows 的自行更新的应用程序,并且安装和运行这类应用程序所需的用户交互最少。使用用ClickOnce主要解决了程序部署中的几个问题:更新应用程序困难。使用 Mic 阅读全文
posted @ 2012-10-30 19:10 Parry 阅读(30154) 评论(27) 推荐(12) 编辑
摘要: 这次我们来聊聊Winform编译中的那些属性设置,也算对这部分知识的一个梳理。内容概览Debug/Release、Platform不同设置的内部差别常规设置错误和警告将警告视为错误输出高级设置1.Debug/Release、Platform不同设置的内部差别在使用Visual Studio的过程中,工具栏上面的Build栏是我们常常开启显示而不怎么去关注的一个地方。左边的Debug/Release模式主要决定了项目编译的时候/optimize和/debug对应的值。当我们使用Debug进行编译的时候,设置分别为/optimize-和/debug:full。而当使用Release模式进行编译的时 阅读全文
posted @ 2012-10-25 18:30 Parry 阅读(8420) 评论(9) 推荐(12) 编辑
摘要: 概述REST(Representational State Transfer表述性状态转移)而产生的REST API的讨论越来越多,微软在ASP.NET中也添加了Web API的功能。我们看dudu的文章HttpClient + ASP.NET Web API, WCF之外的另一个选择知道了博客园也开始使用了Web API,且在使用Web API Beta版本的时候遇到了这个问题:痴情意外:ASP.NET WebAPI RC 竟然不支持最常用的json传参。我们刚好看看Web API的使用,且看目前的版本有没有解决掉这个问题。而关于ASP.NET Web Forms 4.5的新特性可以参见我之 阅读全文
posted @ 2012-09-27 11:59 Parry 阅读(71875) 评论(35) 推荐(94) 编辑
摘要: 在前两篇文章中,我们了解到了ASP.NET Web Forms 4.5四个新特性:强类型数据控件和Bundling、针对HTML5的更新和Unobtrusive Validation。在介绍强类型控件的时候只是简单介绍了下它具有ItemType的属性,可以设置强类型值进行绑定,如果只是引入了这个属性,那么有点像语法糖,没什么实际意义。其实许多园友也发现了在ASP.NET Web Forms 4.5中引入了许多MVC的特性,而Model Binding则是更加像MVC的一个特性了。Model Binding如果用过ObjectDataSource控件,肯定对其SelectMethod有印象,在A 阅读全文
posted @ 2012-09-21 09:40 Parry 阅读(4131) 评论(5) 推荐(3) 编辑