代码改变世界

一起谈.NET技术,我眼中的Visual Studio 2010架构工具

2011-08-29 19:26 by 狼人:-), 231 阅读, 0 推荐, 收藏,
摘要:影响架构质量的是构建体系架构的思想、原则、实践与架构师的经验,绝不是工具。即使是最优秀的架构工具,也不可能像倚天宝剑一般——倚天一出,谁与争锋——似乎谁握住了这把利刃,就能够成为武林盟主。架构工具可以改善架构师的工作,却不能替换架构的过程。软件开发过程中,最重要的依旧是人。 我在尝鲜Visual Studio 2010架构工具 时,偶然看到一篇文章,用夸张的语言吹捧VS 2010架构工具,认为它是架构师最怕程序员知道的新工具。这让我有感而发,我想起数十年前甚嚣尘上的一个理论,那就是CASE工具在未来可以取代编码工作的论断。随着DSL的逐渐流行,这个论断似乎有了能够实现的希望。我们已经... 阅读全文

一起谈.NET技术,基于CallContextInitializer的WCF扩展导致的严重问题

2011-08-29 19:26 by 狼人:-), 314 阅读, 0 推荐, 收藏,
摘要:WCF是一个具有极高扩展度的分布式通信框架,无论是在信道层(Channel Layer)还是服务模型层(Service Model),我们都可以自定义相关组件通过相应的扩展注入到WCF运行环境中。在WCF众多可扩展点中,ICallContextInitializer可以帮助我们在服务操作执行前后完成一些额外的功能,这实际上就是一种AOP的实现方式。比如在《通过WCF Extension实现Localization》中,我通过ICallContextInitializer确保了服务操作具有和客户端一样的语言文化;在《通过WCF Extension实现Context信息的传递》中,我通过ICa.. 阅读全文

一起谈.NET技术,VS2010如何做WAP开发

2011-08-29 19:25 by 狼人:-), 479 阅读, 0 推荐, 收藏,
摘要:自从VS2010 RC出来以后,就顺便把机器重做了,重装的时候特意没安装VS2008,全线过渡到VS2010和.net4.0,但今天有一小WAP项目,才意识到VS2010貌似不支持WAP窗体,按照记忆参考以前VS2008的做法(见:wap开发体会),下载模板后,一时眼花即没找到新建Mobile Web窗体的地方,于是又把VS2008装回来了,等到把VS2008搞定后,怀着一颗不死之心又重新到VS2010里瞅了瞅,发现其实也可以的(哎,真想抽自己),见下图: 项目上右击-->Add-->New Item。 注意:如果您选择Visual C#下的Web节点,是看不到Mobile We. 阅读全文

一起谈.NET技术,Visual Studio LightSwitch初体验和定位看法

2011-08-29 19:25 by 狼人:-), 288 阅读, 0 推荐, 收藏,
摘要:Visual Studio LightSwitch已经可以通过MSDN订阅下载了,相关介绍可以见:http://www.microsoft.com/visualstudio/en-us/lightswitch。 于是我马上下载下来体验了一把: 安装过程很简单,挂载ISO,运行setup.exe,提示需要1G多的空间,其实如果你安装了VS和Silverlight 4 SDK的话,要不了这么多的空间,500多M的安装包也是因为包含VS Shell的原因吧,我没有在干净的系统中安装,具体情况如何不太清楚。以后微软应该出一个针对已有VS环境的精简安装包。安装完成的界面截图如下: ... 阅读全文

一起谈.NET技术,ASP.NET中如何正确使用Session

2011-08-29 19:25 by 狼人:-), 258 阅读, 0 推荐, 收藏,
摘要:Asp.Net中的Session要比Asp中的Session灵活和强大很多,同时也复杂很多;看到有一些Asp.Net开发人员报怨说Session不稳定,莫名其妙的丢失,其实这正是Asp.Net改进的地方之一。 我们知道Session与Cookie最大的区别在于:Cookie信息全部存放于客户端,Session则只是将一个ID存放在客户端做为与服务端验证的标记,而真正的数据都是放在服务端的内存之中的。 在传统web编程语言(比如asp)中,session的过期完全是按照TimeOut来老老实实处理的,超时值默认是20分钟,但问题是:通常有很多用户只看一眼网页,然后就关浏览器走人了,这... 阅读全文

一起谈.NET技术,关于静态页和SEO的看法

2011-08-29 19:25 by 狼人:-), 223 阅读, 0 推荐, 收藏,
摘要:我们先来讨论一下,什么叫做“静态页”。有朋友说,放在硬盘上的htm或html文件便是一种静态页,Web服务器不需要做额外的处理,直接读取文件内容并输出就可以了,而这样的静态文件对于SEO是有帮助的。至于理由,是搜索引擎会对html结尾的文件给更好的权值(这好像还是结论,不是理由),而这是“常识”,“了解一点SEO的人都知道这个”,“人们普遍在使用的做法”,因此“它一定是正确的”。不过其实Google并不这么认为,百度倒没有给出专业说法。 当然,我们已经重复强调,但还是需要不断明确的一点是,即使搜索引擎对于“静态页”有更好的倾向性,那也是因为其“URL样式”,而不是“在硬盘上放置了一个h... 阅读全文

一起谈.NET技术,基于Visual Studio 2010 阐述C#4个特性

2011-08-29 19:25 by 狼人:-), 300 阅读, 0 推荐, 收藏,
摘要:Csharp4.0与以往版本基础体现了强大的性能优势,主要体现在以下四个方面: 1. 通过委托成员来实现接口 在C# 4.0中可以通过委托来实现某个成员的接口,例如下面的代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public class Foo : IList { private List _Collection implements IList; public Foo() ... 阅读全文

一起谈.NET技术,ASP.NET 4.0 一些隐性的扩展

2011-08-29 19:25 by 狼人:-), 255 阅读, 0 推荐, 收藏,
摘要:ASP.NET 4.0在很多方面都做了改进,在这篇ASP.NET 4.0白皮书就描述了很多ASP.NET 4.0的机制改变和改进。在我的博客中,也有几篇关于ASP.NET4.0的特性修改的文章。但是作为一个全新的框架和运行时,内部肯定还会有很多API和扩展点不会暴露的那么明显。比如今天从这篇文章Three Hidden Extensibility Gems in ASP.NET 4的介绍中,我又了解了一些在我平常开发中绝对非常有用的扩展点。 PreApplicationStartMethodAttribute 这个新的Attribute可以让我们指定一个公共的静态函数,让它在站点的... 阅读全文

一起谈.NET技术,提高ASP.NET应用程序性能的十大方法

2011-08-29 19:25 by 狼人:-), 205 阅读, 0 推荐, 收藏,
摘要:一、返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量。 如果你是用动态的SQL语句来返回多个数据集,那我建议你用存储过程来替代动态的SQL语句。是否把业务逻辑写到存储过程中,这个有点争议。但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不用在过滤数据,这是一个好事情。 用SqlCommand对象的ExecuteReader方法... 阅读全文

一起谈.NET技术,鲜为人知的ASP.NET MVC 2.0框架高效之谜

2011-08-29 19:25 by 狼人:-), 280 阅读, 0 推荐, 收藏,
摘要:要想建立开发环境,你需要安装Visual Studio 2008/2010 Beta 2,以及SQL Express 2005(可免费从MSDN下载)和MVC 2.0框架。我把本文中的示例Web应用命名为“Employee Master Information”。 使用该应用程序,你可以输入新员工数据,编辑现有员工数据,可以查看特定员工数据,和从数据库中给删除任意员工信息。该应用程序还使用了ASP.NET的Membership Provider来创建新用户和认证已有用户,客户端验证通过JavaScript实现。 图1 创建MVC项目、数据库和数据模型 在此前的ASP.NET ... 阅读全文

一起谈.NET技术,Silverlight中本地化的实现

2011-08-29 19:25 by 狼人:-), 193 阅读, 0 推荐, 收藏,
摘要:对于本地化这个功能我个人一直觉得在需求阶段就要确定该项目需不需要实行本地化,这样后面就可以减轻许多工作量,Sl中对本地化功能的支持与ASP.NET中一样,主要使用CultureInfo类来完成的。 下面来看实现本地化的具体流程,先来看一看我的项目结构: 这里我是把资源文件放入单独的项目中,这样结构上也比较的清晰。 第一步:先在Languages项目下添加几个资源文件,这里对于资源的命名要遵循.NET命名规范,比如说当前文化是中文的话,系统就会自动到Localization.zh-CN.resx中获取相关的字符。这里如果对多语言的文化的命名不熟悉的话,可以查看.NET全球化,... 阅读全文

一起谈.NET技术,WPF Multi-Touch 开发:惯性效果(Inertia)

2011-08-29 19:25 by 狼人:-), 367 阅读, 0 推荐, 收藏,
摘要:从上一篇实例可以发现在图片移动过程中如果将手指移开屏幕则图片会立刻停止,根据这种情况WPF 提供另外一种惯性效果(Inertia)。通过它可以使UI 单元移动的更加符合物理特性、更为实际和流畅。 在前面代码的基础上还需要为<Canvas> 增加ManipulationInertiaStarting 事件。 <Canvas x:Name="touchPad" Background="Gray" ManipulationStarting="image_ManipulationStarting" ManipulationD 阅读全文

一起谈.NET技术,WPF Multi-Touch 开发:高效开发模式

2011-08-29 19:25 by 狼人:-), 330 阅读, 0 推荐, 收藏,
摘要:在前几篇文章中已经介绍了触屏操作的多种模式,并对其开发方式也有了进一步了解。细心的朋友应该会发现在上一篇文章中,如果拖动图片过快它会因惯性效果飞出程序窗口外,也就是说还需要对其进行边界限制等相关开发。而且无论是哪种触屏操作都需要开发者逐行逐句的编写代码,本篇将为大家介绍一种高效的多点触屏开发模式。 其实我们只需利用CodePlex 中的Multi-Touch Manipulation 项目即可,该程序不仅支持WPF,还可以进行Silverlight 和Windows Phone 7 的项目开发。下载并安装程序,打开Blend 4 新建项目,在设计窗口绘制一个矩形。 在Behavi... 阅读全文

一起谈.NET技术,LINQ TO Reflection

2011-08-29 19:25 by 狼人:-), 273 阅读, 0 推荐, 收藏,
摘要:引言 我们平时开发中不可避免,或者说,经常性的使用反射。但是却没有一个合适的类库帮助我们更好的利用反射。从早期的FastInvoker,到老赵的 fastreflectionlib ,无一不是在强调Fast。这是因为反射的性能损耗比较厉害,所以大家都集中精力解决性能的问题,但是在易用性方面却鲜有改进。今天我为大家带来一个即兼顾性能又具有良好的使用体验的反射类库. .Metadata() 此类库以LINQ TO Object为基础,可以通过调用.Metadata()方法获取对应Type的完整Metadata信息。此信息会被进行缓存,并且使用fastreflectionlib的核心... 阅读全文

一起谈.NET技术,反编译Silverlight项目

2011-08-29 19:25 by 狼人:-), 210 阅读, 0 推荐, 收藏,
摘要:在互联网上,每天都会有很多Silverlight项目发布,有的是开源,有的只是为了展示。在Silverlight学习的初期,多数都需要模仿学习,所以,发现一个Silverlight项目,能够查看其中的源代码是最好不过了。但是,Silverlight发布,只是发布资源包XAP,而所有资源都在这个XAP文件中,该如何查看其中的资源和代码呢?下面我将演示反编译的方法,演示中我将用Silverlight.Net首页Silverlight作为例子。 1. 首先打开Silverlight.Net,该页面中包含一个Silverlight导航动画; 2. 在浏览器中,点击右键,查看页面源代码; ... 阅读全文
上一页 1 ··· 259 260 261 262 263 264 265 266 267 ··· 312 下一页