| 加入收藏| 设为首页| 联系我们

首页 站长学习 站长之家 源码下载 建站素材 书籍教程 常用工具
 您现在的位置: 动力中国 >> 网络编程 >> C#教程 >> 文章正文  
 biztalk定制管道组件(pipeline component)的开发
 

biztalk定制管道组件(pipeline component)的开发

http://www.domcn.org  文章来源:本站收藏  点击数:

  关键字:biztalk定制管道组件(pipeline component)的开发

一、  定制pipeline的接口

可以定制三种类型的pipeline component:general, assembling,disassembling。

其中disassembling是接收管道的Disassemble阶段使用的pipeline component类型,assembling是发送管道Assemble阶段使用的pipeline component类型,两种管道的其它阶段都是用general类型的pipeline component。

pipeline component是.net或com的组件,用来实现不同阶段的管道任务,根据不同类型的pipeline component类型需要实现一些接口以便消息引擎调用来传送和返回相关信息。

1、 IpipelineContext

传递组件所在管道的上下文,当前所在管道的stage等

组件可以获得消息和消息工厂

这个接口对象是作为参数传入到组件,给组件内部的代码使用,不需要哪个pipeline component去实现这个接口。

2、 IbaseComponent

组件通过这个接口提供这个组件的基本信息:名称、版本、描述

3、 IComponent

General类型的pipeline component必须实现的接口。General类型一般接收一个消息,处理消息,然后返回一个消息。

需要实现方法:

l         IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)

消息引擎调用此方法把消息传入pipeline component,返回pipeline component处理后的消息。

4、 IpersistPropertyBag

IpersistPropertyBag 接口用来作为环境(开发环境、biztalk控制台等)跟pipeline component的运行时属性交互时,作为设计时属性提供的一组功能。提供设计时环境设置和获得pipeline component属性的功能。

IpersistPropertyBag 接口有两个主要方法:

l         void Load(IPropertyBag propertyBag, int errorLog);

环境调用此方法装载所有在环境中保存的pipeline componen属性值。就是在把在开发环境或者biztalk控制台中设置的pipeline componen相关属性值传递给pipeline componen本身。

l         void Save(IPropertyBag propertyBag, bool clearDirty, bool saveAllProperties);

环境调用此方法把pipeline componen属性值取出来,保存到开发环境或者biztalk控制台的pipeline componen相关属性。

 

IpropertyBag接口是IpersistPropertyBag接口的两个方法提供的参数类型,不需要pipeline componen实现这个接口。

 

实际上这个接口就是把pipeline component属性暴露给环境,使用者可以在开发环境或biztalk控制台中随时修改这些暴露的属性,给配置pipeline提供了很大的灵活性。

例如,pipeline componen定义了一个叫Filter的属性:

private string filter = null;

[System.ComponentModel.Description(属性描述)]

public string Filter

{

    get { return filter; }

    set { filter = value; }

}                                    

如果这个pipeline componen没有实现IpersistPropertyBag接口,组件的Filter属性在环境中能看到,但是在环境中设置了这个属性值在运行时将不会被传送到组件。

看一下如何实现这个接口的两个主要方法:

void IPersistPropertyBag.Load(IPropertyBag propertyBag, int errorLog)

{

    object objSheetName = null;

    try

[1] [2] [3] [4] [5] 下一页


biztalk定制管道组件(pipeline component)的开发
  • 上一篇文章:

  • 下一篇文章:
  •  热门文章
    普通文章 电子邮件改头换面 四公司畅谈未
    普通文章 PC病毒史上最声名狼藉的八大病
    普通文章 Rails系统中的AJAX开发技术简析
    普通文章 基于ASP.NET AJAX框架实现表单
    普通文章 开发ASP.NET AJAX客户端定制行
    普通文章 用JFreeChart对JSP报表进行增强
    普通文章 SQL Server 2005上的CLR和ADO.
    普通文章 SQL Server 2005的XML支持机制
    普通文章 Firefox中标签式浏览技巧大全
    普通文章 Tomcat中的Session和Cookie大揭
     
     推荐文章
    推荐文章 把Google地图嵌入网页 就是这么
    推荐文章 迅雷搜索候选资源出错的解决
    推荐文章 轻松去除迅雷里的各种广告和资
    推荐文章 突破限制 免费领养到QQ空间五级
    推荐文章 Rational统一过程RUP贴近中小软
    推荐文章 构建自己的轻量级XML DOM分析程
    推荐文章 WPS Office 2007技巧:妙用配置
    推荐文章 Excel 2007:求余数函数实用进阶
    推荐文章 浅谈ASP.NET的Postback
    推荐文章 软件开发中项目需求管理简述
     
     相关文章
    没有相关文章
    设为首页 | 加入收藏 | 广告合作 | 联系站长 | 版权申明 |
    动力中国为网友提供免费学习资料,可用资源,如果您认为我们的相关内容侵害到了您的权利请联系管理员
    Copyright © 2006-2008 domcn.org All Rights Reserved.