惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
Recent Announcements
Recent Announcements
H
Help Net Security
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
小众软件
小众软件
Last Week in AI
Last Week in AI
U
Unit 42
Google DeepMind News
Google DeepMind News
博客园 - 司徒正美
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
云风的 BLOG
云风的 BLOG
V
V2EX
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿

博客园 - SuperBowl

新蛋(成都)急聘.net 高级软件工程师 NetTiers模板中各个选项的一些解释 敏捷实践--个人与过程 敏捷实践--持续集成工具CC.net配置 .net4.0 & VS2010 敏捷实践--用户故事和用例的选择 .Net 常用开发工具 敏捷实践--准备 敏捷实践--启航 敏捷软件开发之持续集成 6,Composite UI Application Block (CAB) WorkItem介绍 5,Composite UI Application Block (CAB) WorkSpace介绍 (转)2007年IT薪资调查 IT人更关注职业前途 3,Composite UI Application Block (CAB) 结构介绍 2,Composite UI Application Block (CAB) 概念和术语 1,Composite UI Application Block (CAB) 介绍 很想提笔写点什么 读完“影响力” Hello ,Atlantic
4,Composite UI Application Block (CAB) FormShellApplicat...
SuperBowl · 2008-01-25 · via 博客园 - SuperBowl
 

现在我们来看看基于CAB的应用程序中非常重要的一个类。这个类可以认为是一个CAB应用的启动点。他就是FormShellApplication

FormShellApplication的继承关系如下:


该类需要传入两个类型参数,一个是继承自
WorkItem的类(如果不需要通过重载WorkItemOnRunStarted方法来实现更多处理,这里可以直接使用WorkItem,一个是继承自Form的窗体。

public class Program:FormShellApplication<MyWorkItem,ShellForm>

通常我们在Main方法中调用其Run方法,执行Run方法会初始化许多应用程序信息。可以通过override来重写或增加FormShellApplication的方法处理。

FormShellApplication的初始化包括(可以通过子类重载FormShellApplication的相关方法来判断其执行顺序)以下步骤:

1. RegisterUnhandledExceptionHandler

2. 创建 Build strategies

3. 创建顶级 WorkItem

4. 创建和初始化 Visualizer

5. 添加 services

6.创建Shell

CAB提供的标准服务如下,开发人员可以在此基础上进行扩展:

ü SimpleWorkItemActivationService

ü FileCatalogModuleEnumerator

ü WindowsPrincipalAuthenticationService

ü ModuleLoaderService

ü DataProtectionCryptographyService

ü TraceSourceCatalogService

ü CommandAdapterMapService

ü WorkItemExtensionService

ü WorkItemTypeCatalogService

ü ControlActivationService

执行了FormShellApplication的子类的Run方法,一个CAB应用程序就算是启动了。随后就是根据自己的需要来执行WorkItem了。