摘要: 这次我们来聊聊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 阅读(8556) 评论(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 阅读(72071) 评论(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 阅读(4169) 评论(5) 推荐(3)
摘要: 在前一篇文章中我们介绍了两个新特性:强类型数据控件和Bundling。这次我们再介绍两个新特性:ASP.NET Web Forms 4.5中针对HTML5的更新和Unobtrusive Validation。针对HTML5的更新在ASP.NET Web Forms 4.5中,控件TextBox的TextBoxMode从之前的三个(SingleLine/MultiLine/Password)增加到了16个,详细见MSDN。这样使得做表单类页面的时候,降会大大地降低验证的代码量,提高开发效率,将更多的人力资源放在业务逻辑上。FileUpload控件终于开始支持多文件上传,可以通过AllowMult 阅读全文
posted @ 2012-09-19 12:17 Parry 阅读(3860) 评论(5) 推荐(2)
摘要: 在微软线上发布了Visual Studio 2012后,我们也能清晰地看到ASP.NET Web Forms 4.5中的一些新特性了。今天先看两个新特性:强类型数据控件和Bundling。强类型数据控件在出现强类型数据控件前,我们绑定数据控件时,前台一般使用Eval或者DataBinder.Eval(Container.DataItem,"FieldName")的形式。1<%#DataBinder.Eval(Container.DataItem,"FieldName")%>2<%#Eval("FieldName")% 阅读全文
posted @ 2012-09-18 15:09 Parry 阅读(4110) 评论(4) 推荐(0)
摘要: 在上一篇文章不同版本的SQL Server之间数据导出导入的方法及性能比较中比较了5种方法进行数据迁移的效率,最后发现使用SqlBulkCopy具有极高的性能。在文章的回复中,园友温景良(Jason)提到:sqlbulkcopy如果加上事务呢,速度应该快些吧!当时我一想,SqlBulkCopy可以包含在事务里面执行吗?因为我记得SqlBulkCopy是基于BCP且不写log的。所以也没敢仓促回复。然后我去查了下,的确是可以包含在事务中执行的,且提供了两种方法。使用UseInternalTransaction在构造函数SqlBulkCopy(String, SqlBulkCopyOptions) 阅读全文
posted @ 2012-09-11 15:45 Parry 阅读(3707) 评论(8) 推荐(2)
摘要: 工作中有段时间常常涉及到不同版本的数据库间导出导入数据的问题,索性整理一下,并简单比较下性能,有所遗漏的方法也欢迎讨论、补充。00.建立测试环境01.使用SQL Server Import and Export Tool02.使用Generate Scripts03.使用BCP04.使用SqlBulkCopy05.使用Linked Server进行数据迁移06.使用RedGate的SQL Data Compare07.结果对比可以先看下测试的结果00.建立测试环境建立一个测试的环境,一个数据源数据库,版本为SQL Server 2008,一个目标数据库,版本为SQL Server 2000。实 阅读全文
posted @ 2012-08-31 15:11 Parry 阅读(11094) 评论(14) 推荐(8)
摘要: 在之前的文章MVC3缓存之二:页面缓存中的局部动态中,没有注意到MVC3的版本中对输出缓存进行了修改,园友的评论中提及了此问题,所以又去抽时间看了下局部缓存的解决方案。最后发现在发布的MVC3版本中,新增了一个叫做Partial Page的东西,即可以对载入到当前页面的另外的一个View进行缓存后输出,这与我们之前讨论的局部动态刚好相反了,即之前我们进行这个页面的缓存,然后对局部进行动态输出,现在的解决方案是:页面时动态输出的,而对需要缓存的局部进行缓存处理。查来查去还没有看到局部动态的解决方案,所以我们先看看局部缓存的处理方法。局部缓存(Partial Page)我们先建立一个需要局部缓存. 阅读全文
posted @ 2011-04-11 14:59 Parry 阅读(5873) 评论(6) 推荐(6)
摘要: 在上一篇我们讨论了MVC中使用页面缓存的一些方法,而其中由于页面缓存的粒度太粗,不能对页面进行局部的缓存,或者说,如果我们想在页面缓存的同时对局部进行动态输出该怎么办?下面我们看下这类问题的处理。MVC中有一个Post-cache substitution的东西,可以对缓存的内容进行替换。使用Post-Cache Substitution定义一个返回需要显示的动态内容string的方法。调用HttpResponse.WriteSubstitution()方法即可。示例,我们在Model层中定义一个随机返回新闻的方法。usingSystem;usingSystem.Collections.Gen 阅读全文
posted @ 2011-03-29 11:08 Parry 阅读(6295) 评论(12) 推荐(7)
摘要: 在以前的WebForm的开发中,在页面的头部加上OutputCache即可启用页面缓存,而在MVC3中,使用了Razor模板引擎的话,该如何使用页面缓存呢?如何启用在MVC3中要如果要启用页面缓存,在页面对应的Action前面加上一个OutputCache属性即可。我们建一个Demo来测试一下,在此Demo中,在View的Home目录下的Index.cshtml中让页面输入当前的时间。@{Layout=null;}<!DOCTYPEhtml><html><head><title>Index</title></head>&l 阅读全文
posted @ 2011-03-19 11:15 Parry 阅读(9040) 评论(9) 推荐(10)