摘要: 通过URI实现版本管理 另一种实现版本管理的方式就是通过URI来进行处理,类似于http://localhost:{your_port}/api/v1/students/。这种方式的好处是使用者可以清楚的知道当前自己使用的版本。实现也很简单: 1: config.Routes.MapHtt... 阅读全文
posted @ 2014-04-14 21:17 laughter 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 一旦成功的发布API后,使用者将依赖于你所提供的服务。但是变更总是无法避免的,因此谨慎的制定ASP.NET Web API的版本策略就变得非常重要。一般来说,新的功能需要无缝的接入,有时新老版本需要并行,以便给使用者足够的时间来进行迁移和配套的变更。设置,老的版本会一直持续被使用。 简单版本管理 假... 阅读全文
posted @ 2014-04-14 15:28 laughter 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 众所周知 ASP.NET MVC 的一个显著优势即可以很方便的实现单元测试,但在我们测试过程中经常要用到HttpContext,而默认情况下单元测试框架是不提供HttpContext的模拟的,本文通过MOQ框架实现对HttpContext的模拟从而实现更便利的单元测试。 一、Moq框架使用 M... 阅读全文
posted @ 2014-04-14 10:12 laughter 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 本章讨论创建安全的WebApi服务,到目前为止,我们实现的API都是基于未加密的HTTP协议,大家都知道在Web中传递身份信息必须通过HTTPS,接下来我们来实现这一过程。 使用HTTPS 其实可以通过IIS配置,将整个WebApi的访问都配置为Https,但实际上,如果希望只是对部分方法进行认证,... 阅读全文
posted @ 2014-04-13 18:09 laughter 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 实现资源分页 本章我们将介绍几种不同的结果集分页方式,实现手工分页,然后将Response通过两个不同的方式进行格式化(通过Response的Envelop元数据或header)。 大家都知道一次查询返回几百条数据是很讨厌的事情,那么在WebApi中分页就更有必要。 手动分页和封装 接下来我们修改C... 阅读全文
posted @ 2014-04-13 15:41 laughter 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 经常看到和听到大家在争论敏捷过程、RUP和CMM 哪个软件开发过程更好或者哪个过程不好,各自都有理由、争论得不亦乐乎......实际上,没有十全十美的过程,也不存在更好的过程。关键是什么样的过程适合自己(的组织),适合自己的过程才是好的过程。更重要的是,适合自己的过程需要时间积累、需要不断实践,对已定义的过程进行剪裁、补充和完善,才会建立最适合自己的软件开发过程。 引用Alistair Cockburn的一句话 “不同的项目需要不同的方法论,一个项目的最佳过程是这个项目所能负担的最小过程。”, 这说明,对一个组织,往往有几种方法并存,而对不同类型的项目,采用不同的方法。选择一个合适的生命周期模 阅读全文
posted @ 2014-04-09 13:10 laughter 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 文档选项将此页作为电子邮件发送级别: 初级Sandra Sergi Santos, 软件工程专家, IBM2007 年 6 月 15 日本文来自于Rational Edge:Microsoft Solutions Framework 和 Rational 统一过程(Rational Unified Process ,RUP)都为软件开发团队提供过程指导,但您如何对二者进行比较呢?本文指出了两个框架主要的结构上的差别和相似之处。Rational Edge读者的新论坛在本文的最后,您将找到一个特别为Rational Edge电子杂志的作者创办的新论坛的链接。准备添加一些您对在我们的网页上找到的本文 阅读全文
posted @ 2014-04-09 13:08 laughter 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 测试驱动开发体现了开发人员对软件产品各部分运作方式的理解,而行为驱动开发则关注于开发人员对软件产品最终表现的行为的预期。 行为驱动开发 TDD更像是一种范式而不是一个过程。它描述了一种先编写测试,然后实现,并伴随可能的代码重构这样的一系列步骤。但其并没有关于以下的内容: 应该从哪里开始开发; ... 阅读全文
posted @ 2014-04-06 18:28 laughter 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 简单而言,BDD是一系列基于TDD的工具和方法集发展而来的开发模式,一般不认为是一种新的开发模式,而是作为TDD的补充。因此,首先对TDD的概念进行进行。 测试驱动开发(TDD) TDD模式采取的是迭代式的开发流程。软件的每个功能特性的开发都是从编写一个针对性的测试开始。一开始测试无法通过,然后开发... 阅读全文
posted @ 2014-04-06 17:12 laughter 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 最近项目[Silverlight]中的需要实现国际化,需要对所有控件进行一个处理。由于使用了Telerik的控件,只需要去掉原有的Label或者Header属性,然后添加一个资源Key即可。但是在项目已经完全成熟的情况下,对大量的查询条件,数据列进行处理也是一个非常耗时的方案,因此对XAML文件进行处理能够节省大量的工作量,避免错误信息。关键的步骤可以通过VS的向导自动完成。接下来只需在Conect.cs文件中对部分数据进行处理。 /// 实现 IDTCommandTarget 接口的 Exec 方法。此方法在调用该命令时调用。 /// 要执行的命令的名称。 /// 描述该命... 阅读全文
posted @ 2013-09-18 12:16 laughter 阅读(385) 评论(0) 推荐(0) 编辑