Biztalk Pipeline框架核心类分析

Microsoft.BizTalk.Message.Interop.IBaseMessage
用途:Pipeline中的Message,管理IBaseMessagePart
属性:IBaseMessageContext类型的Context

Microsoft.BizTalk.Message.Interop.IBaseMessagePart
用途:Pipeline Message的每个部分
属性:Stream类型Data,表示内容;IBasePropertyBag类型PartProperties,表示与MessagePart关联的属性

Microsoft.BizTalk.Component.Interop.IPipelineContext
用途:Pipeline上下文
属性:PipelineID,PipelineName以及GetMessageFactory()方法

Microsoft.BizTalk.Component.Interop.IBaseMessageFactory
用途:用于创建IBaseMessage的工具类

Microsoft.BizTalk.Component.Utilities.Schema
属性:AssemblyName,DocSpecName,RootName,SchemaName,TargetNamespace
构造方法:通过DocSpecName构造,即Xsd的Namespace+TypeName

Microsoft.BizTalk.Component.Utilities.SchemaList
用途:表示Schema的集合
常用方法:Add(Schema schema)

Microsoft.BizTalk.Component.Interop.IDocumentSpec
属性:DocSpecName,DocSpecStrongName,DocType
用途:对应Schema的specification
构造方法:IPipelineContext.GetDocumentSpecByNameontext(string schemaName)

Microsoft.BizTalk.Component.Interop.IFFDocumentSpec
用途:IDocumentSpec的子类,用来表示Flat File Xsd对应的Specification
方法:Probe(IDataReader),检测是否数据可被Flat File Xsd解析

System.Xml.Schema.XmlSchemaCollection
用途:表示Schema具体定义的集合
构造方法:XmlSchemaCollection schemas = new XmlSchemaCollection(new System.Xml.NameTable())
          IDocumentSpec.GetSchemaCollection()
Note:一个Schema Specification中可能包含引用或者包含了多个其它SchemaMicrosoft.BizTalk.Message.Interop

Microsoft.BizTalk.Streaming.MarkableForwardOnlyEventingReadStream
用途:为某种特殊Message Stream优化设计的Stream
构造方法:MarkableForwardOnlyEventingReadStream(Stream data)
相关用途:string Microsoft.BizTalk.Streaming.Utils.GetDocType(MarkableForwardOnlyEventingReadStream stm)
          IPipelineContext.GetDocumentSpecByType(string docType)

Microsoft.BizTalk.Streaming.Utils
用途:针对Message Stream的工具类
方法:GetDocType(MarkableForwardOnlyEventingReadStream stm)

Microsoft.BizTalk.Component.Interop.PipelineUtil
方法:IBaseMessageContext CloneMessageContext(IBaseMessageContext msgctx)
      CopyPropertyBag(IBasePropertyBag inPropBag, IBaseMessageFactory factory)

Microsoft.BizTalk.Component.Utilities.SchemaRetriever
用途:用于获取当前Project在设计时可访问到的Schema集合
方法:Schema[] GetSchemas(object objProjectSystem),objProjectSystem一般有系统调用时提供

Microsoft.BizTalk.Component.FFDasmComp
用途:对Flat File Xsd Message进行Disassembler
方法:Probe(IPipelineContext,IBaseMessage)

Microsoft.XLANGs.Pipeline.XLANGPipelineManager.ExecuteReceivePipeline
用途:在Orchestration中执行Pipeline

你可能感兴趣的:(pipeline)