2013年7月22日星期一

TFS二次开发系列:三、TFS二次开发的第一个实例 - 程兴亮

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
TFS二次开发系列:三、TFS二次开发的第一个实例 - 程兴亮  阅读原文»

  首先我们需要认识TFS二次开发的两大获取服务对象的类。

  他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS API服务类。他们的区别如下:

服务

TfsConfigurationServer

(服务器级别)

TfsTeamProjectCollection

(集合级别)

ITeamFoundationRegistry

选中标记

选中标记

IIdentityManagementService

选中标记

选中标记

ITeamFoundationJobService

选中标记

选中标记

IPropertyService

选中标记

选中标记

IEventService

选中标记

选中标记

ISecurityService

选中标记

选中标记

ILocationService

选中标记

选中标记

TswaClientHyperlinkService

选中标记

选中标记

ITeamProjectCollectionService

选中标记

IAdministrationService

选中标记

选中标记

ICatalogService

选中标记

VersionControlServer

选中标记

WorkItemStore

选中标记

IBuildServer

选中标记

ITestManagementService

选中标记

ILinking

选中标记

ICommonStructureService3

选中标记

IServerStatusService

选中标记

IProcessTemplates

选中标记

  基本上我们可以通过上面两个类对TFS操作所有功能点。下面我们先看看如何使用TfsTeamProjectCollection获取特定团队集合下的所有项目,并且打印出项目名称。

//取出团队集合URI下的项目名称,如果团队集合为空则取默认集合下项目
//Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs/Calueng");这种将会Calueng团队集合下项目
Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs");
TfsTeamProjectCollection server
= new TfsTeamProjectCollection(tfsUri);
WorkItemStore workstore
= server.GetService<WorkItemStore>();
foreach (Project project in workstore.Projects)
{
Console.WriteLine(
"DefaultCollection集合下项目名称是:" + p
WCF 框架运行时类图 - BloodyAngel  阅读原文»

本文画出了 WCF 框架运行时的重点类之间的类关系图。

  • Binding

一个 Binding 由多个 BindingElement 组成。BindingElement 作为主要的扩展点。每一个 BindingElement 描述某个独立的行为。最终 Binding 使用一连串的 BindingElement 来生成Channel。

image

  • Description

Description 表示服务的元数据,用于描述服务本身。一个服务包括多个终结点,一个终结点对应一个绑定、对应一个契约、多个操作。而服务、终结点、契约、操作,都可以附加多个行为来对其进行控制。

image

  • Behaviors

下面是四类行为用于控制的类型。

image

image

image

  • Behavior Invoke flow

框架内部对于行为的调用顺序:

image

  • Client Runtime

客户端运行时类型,用于控制客户端运行时行为。

image

  • Server Runtime

服务端运行时类型。相对客户端的运行时,要复杂一些。

image

对运行时扩展时,一般使用 Behavior。如果想使用配置文件声明的方式,则应该封装到 BindingElementExtensionElement 或者 BehaviorExtensionElement 中。


本文链接:http://www.cnblogs.com/zgynhqf/p/3208137.html,转载请注明。

阅读更多内容

没有评论:

发表评论