代码改变世界

一起谈.NET技术,ASP.NET MVC3 Razor视图引擎-基础语法

2011-09-01 23:58 by 狼人:-), 226 阅读, 0 推荐, 收藏,
摘要:I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化。 1.ASP.NET MVC3必要的运行环境为.NET 4.0 (想在3.5用MVC3,没门!)。 2.默认MVC3模板项目已集成 3.全新的Razor视图引擎 @{ ViewBag.Title = "Home Page";} <h2>@ViewBag.Message</h2><p> To learn more about ASP.NET MVC visit <a href=&q 阅读全文

一起谈.NET技术,在ASP.NET MVC3中使用EFCodeFirst 1.0

2011-09-01 23:58 by 狼人:-), 175 阅读, 0 推荐, 收藏,
摘要:1. 新建项目 打开VS2010,选择 文件>新建>项目,新建ASP.NET MVC3 Web 应用程序,我这里把它命名为Blog。 2. 编写实体类 对于一个博客,一下几个类应该是必须的吧: Post 博客文章类 Comment 文章评论类,和Post是一对多的关系 Category 目录类,和Post是一对多的关系 Tag 标签类,和Post是多对多的关系 FriendLink 友情链接类 先不考虑管理员之类的东西。 在Model中依次添加上面的类。 namespace Blog.Models{ public class Post {... 阅读全文

一起谈.NET技术,一句代码实现批量数据绑定[上篇]

2011-09-01 23:58 by 狼人:-), 170 阅读, 0 推荐, 收藏,
摘要:对于一个以数据处理为主的应用中的UI层,我们往往需要编写相当多的代码去实现数据绑定。如果界面上的控件和作为数据源的实体类型之间存储某种约定的映射关系,我们就可以实现批量的数据绑定。为了验证这种想法,我写了一个小小的组件。这个小玩意仅仅是我花了两个小时写的,其中还有很多问题没有解决,比如对于空值的处理,特殊控件属性值的HTML编码问题,以及频繁反射的性能问题,仅仅演示一种解决思路而已。本篇着重介绍如何通过这个组件来解决我们在进行数据绑定过程中的常见问题,下篇会介绍它的设计。[源代码从这里下载] 目录: 一、基于控件ID/实体属性名映射的数据绑定 二、一句代码实现批量数据绑定 三、修正绑定... 阅读全文

一起谈.NET技术,一句代码实现批量数据绑定[下篇]

2011-09-01 23:58 by 狼人:-), 205 阅读, 0 推荐, 收藏,
摘要:《上篇》主要介绍如何通过DataBinder实现批量的数据绑定,以及如何解决常见的数据绑定问题,比如数据的格式化。接下来,我们主要来谈谈DataBinder的设计,看看它是如何做到将作为数据源实体的属性值绑定到界面对应的控件上的。此外,需要特别说明一点:《上篇》中提供了DataBinder最初版本的下载,但已经和本篇文章介绍的已经大不一样了。 最新版本的主要解决两个主要问题:通过Expression Tree的方式进行属性操作(属性赋值和取值),添加了“数据捕捉”(Data Capture)的功能,以实现将控件中的值赋给指定的实体。但是,这并不意味着这就是一个最终版本,这里面依然有一些... 阅读全文

一起谈.NET技术,使用WCF实现SOA面向服务编程——使用AJAX+WCF服务页面开发

2011-09-01 23:58 by 狼人:-), 198 阅读, 0 推荐, 收藏,
摘要:在上一篇讲到,如果将BLL层的每一个类都转化为*.svc,这是一个不实在的想法。它会使服务变化复杂,难于管理。 这时候,我们第一时间想到的是23个简单开发模式中的Factory,在这里,Factory正好派上用场。我们把这个Factory称之为管道(pipeline) ,通过这个管道客户端可以随意调用服务器BLL层里面的类。 (关于管道的概念,建议参考Cory Isaacson的杰作《多核应用架构关键技术—软件管道与soa》) 当你使用B/S方式开发UI层时,只要了解此开发模式,使用Ajax加上WCF里面的WebHttpBinding绑定和WebHttpBehavior行为,... 阅读全文

一起谈.NET技术,使用WCF实现SOA面向服务编程——简单的WCF开发实例

2011-09-01 23:58 by 狼人:-), 222 阅读, 0 推荐, 收藏,
摘要:前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。 在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。 <service name = " " > < endpoint address = "" binding = " wsHttpBinding " cont 阅读全文

一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(九)粒子系统

2011-09-01 23:58 by 狼人:-), 212 阅读, 0 推荐, 收藏,
摘要:粒子系统通常用于三维场景中进行真实环境模拟,比如第四节的天气系统。天气的实现是粒子系统最重要的应用领域之一,所有的一切无论是云、雨、雾,还是落叶、陨石及闪电,都可视作基础粒子;除此之外,游戏中常常还会用到粒子系统来渲染像发光、轨迹等抽象效果。当然,有时简单并不意味着就不能缔造奇迹,比如本节大家将要看到的就是基于简单粒子系统所创建的当下主流2.5D RPG中极其拉风之装备粒子发散动画特效。 一提到Silverlight中的粒子,首先想到的肯定是WriteableBitmap。没错,今天的主角就是它,让人又爱又恨的WriteableBitmap。爱,因为它可以对Silverlight中任... 阅读全文

一起谈.NET技术,C# 中奇妙的函数之ToLookup

2011-09-01 23:58 by 狼人:-), 425 阅读, 0 推荐, 收藏,
摘要:我将和大家一起来学学C#中一些非常有用函数,对于有些人来说可能它们不起眼,因此常常忽略它们。它们不会嚷嚷到:使用我吧!我会让你节省很多的时间,而且让你的代码变得更加的简洁! -- 但是,这些话会从对它们熟悉的程序员的脑海中涌现出来。 好的!先来看看ToLookup: 故事的背景 让我们先来创建一个简单的类来表示产品,产品有ID,类别,和价格,这个类没有什么特别: public sealed class Product { public int Id { get; set; } public string Category { ... 阅读全文

一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo

2011-09-01 23:58 by 狼人:-), 309 阅读, 0 推荐, 收藏,
摘要:在《一句代码实现批量数据绑定》中,我通过界面控件ID与作为数据源的实体属性名之间的映射实现了批量数据绑定。由于里面频繁涉及对属性的反射——通过反射从实体对象中获取某个属性值;通过反射为控件的某个属性赋值,所以这不是一种高效的操作方式。为了提升性能,我通过IL Emit的方式创建了一个PropertyAccessor组件,以实现高效的属性操作。如果你看了我在文中给出的三种属性操作性能的测试结果,相信会对PropertyAccessor的作用有深刻的印象。[源代码从这里下载] 目录: 一、PropertyAccessor与PropertyAccessor<T>的API定义 ... 阅读全文

一起谈.NET技术,三种属性操作性能比较:PropertyInfo + Expression Tree + Delegate.CreateDelegate

2011-09-01 23:58 by 狼人:-), 275 阅读, 0 推荐, 收藏,
摘要:在《上篇》中,我比较了三种属性操作的性能:直接操作,单纯通过PropertyInfo反射和IL Emit。本篇继续讨论这个话题,我们再引入另外两种额外的属性操作方式:Expression Tree(这和IL Emit基本一致)和通过Delegate的静态方法CreateDelegate创建相应的委托进行属性的赋值和取值。[源代码从这里下载] 目录 一、定义测试相关的接口、类型和委托 二、通过Expression Tree的方式创建用于属性操作的委托 三、编写属性赋值操作测试方法 四、编写属性取值操作测试方法 五、执行测试程序,查看... 阅读全文

一起谈.NET技术,基于SQL Server 2008 Service Broker构建企业级消息系统

2011-09-01 23:58 by 狼人:-), 270 阅读, 0 推荐, 收藏,
摘要:1、引言 Microsoft 在SQL Server 2005引入了服务代理 (Service Broker 简称SSB) 为技术支持代理设计模式和面向消息的中间件 (MOM) 的原则。Service Broker在SQL Server 2008上得到完善, SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持。 这使开发人员可以轻松地创建使用数据库引擎组件在完全不同的数据库之间进行通信的复杂应用程序。开发人员可以使用 Service Broker 轻松生成可靠的分布式应用程序。使用 Service Broker 的... 阅读全文

一起谈.NET技术,关于Expression Tree和IL Emit的所谓的&quot;性能差别&quot;

2011-09-01 23:58 by 狼人:-), 298 阅读, 0 推荐, 收藏,
摘要:昨天写了《三种属性操作性能比较》,有个网友写信问我一个问题:从性能上看,Expression Tree和IL Emit孰优孰劣?虽然我在回信中作了简单的回答,但不知道这个网友是否懂我的意思。反正今天呆在家里也没事儿,干脆再就这个话题再写一篇文章。 目录: 一、Expression Tree和IL Emit并不存在所谓的性能差异 二、属性赋值操作的两种写法 三、属性取值操作的两种写法 四、两种写法对应的IL 一、Expression Tree和IL Emit并不存在所谓的性能差异 Expression Tree和IL Emit的性能孰... 阅读全文

一起谈.NET技术,Silverlight 的多线程能力(下)

2011-09-01 23:58 by 狼人:-), 192 阅读, 0 推荐, 收藏,
摘要:上一期笔者介绍了Silverlight实现多线程的诸多解决方案,本期笔者将通过一个实例来实现所有多线程编程方法,并且还将于JavaScript和Flash两种Web客户端技术性能进行比较,请勿拍砖。 在正式编程前,笔者还要重申上期非常重要的观点:Silverlight多线程主要作用不是在于提高性能,而是在于用户体验。这里要给多线程泼一盆冷水了,多线程与性能提升不是正比关系,如果你使用一个单核CPU的客户端设备,那么即便你创建100个多线程也与单线程的计算性能是一样的,因为一个CPU时间片下只能处理一个线程,多线程也必须串行处理,甚至还可能因为过多的CPU调度开销而导致性能不及单线程的情... 阅读全文

一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(七)动画特写

2011-09-01 23:58 by 狼人:-), 211 阅读, 0 推荐, 收藏,
摘要:Silverlight中的HLSL不仅适用于场景与动画渲染,对于游戏中的角色,我们同样可以利用它制作动画特写。较常见的比如角色传送时的淡入淡出、扭曲变形、幻化呈现等切换动画,当然还有例如角色被DeBuff时所表现出来的放大缩小以及虚弱时的不规则体形等。适当的场合为角色增加动画特写使得游戏更显精致而华丽,当玩家身心愉快的融入其中而流连忘返时,或许正是这些魔幻般的特效在背后默默的飘散着令人迷醉的芳香。 还记得Shazzam吗?要制作特写依旧离不开这款强大的工具,以角色的传送特写“幻降”为例,对应Shazzam中的现成特效名为:DirectionalBlur,我们不妨看看它的HLSL代码: ... 阅读全文

一起谈.NET技术,由扩展方法引申出的编程思维

2011-09-01 23:58 by 狼人:-), 166 阅读, 0 推荐, 收藏,
摘要:1. Helper大爆炸 .NET Framework为我们提供了丰富的类库,但是这并不是万能地,在大部分的时间,我们都需要为我们的项目特殊定制我们的通用类库。 常常,我们都可以构造一个类,类里封装一些方法。但是对于很多时候,我们并没有办法提取出这样一个类,举一个小例子,我们在很多时候,需要把url给保存到数据库里,作为一个唯一标识,但是我们知道url所占空间很大,如果用url来建立索引的话是非常耗费空间,而且影响效率的,那么我们最常用的办法就是把url做一个Hash来作为索引的替代品。 这个时候,我们根本就没有办法说我们来怎么样提取一个类,然后在类里写这样一个方法,这个时候,... 阅读全文
上一页 1 ··· 229 230 231 232 233 234 235 236 237 ··· 312 下一页