要在BizTalk 2002 Receive Functions 中使用Preprocessor
1.代码要继承IBTSCustomProcess接口,实现SetContext和Execute方法
2.编译DLL,使用Regsvr32 注册DLL
3.After registering your component using Regsvr32.exe, search the registry for the CLSID of your AIC under the following key:
HKEY_CLASSES_ROOT\CLSID
4.Expand the Implemented Categories key of your AIC.
5.Add new keys with the following names:
HKEY_CLASSES_ROOT\CLSID\AIC_CLSID\Implemented Categories\{20E8080F-F624-4401-A203-9D99CF18A6D9}
6.如果一个DLL中有多个类或模块实现IBTSCustomProcess, 在HKEY_CLASSES_ROOT\CLSID 下反复查找这个Assembly, repeat from step 3 to 6
--------------------------------------------------------------------------------------
From MSDN, BizTalk 2002 online book.
To use a custom component in BizTalk Server 2002, the component must be registered with the category IDs for all pipeline components and for the specific type of pipeline component.
Register the component as an out-of-process component to provide better isolation. A component can be registered as an in process (inproc) component to increase its performance. However, an inproc component that fails to respond during an error condition might cause BizTalk Server to fail. Therefore, a component should be thoroughly tested before registering it as an inproc component.
BizTalk Server category identifiers
Custom components that are used in BizTalk Server must be associated with one or more category identifiers (CATID). The following table shows the category identifiers defined by BizTalk Server.
CATID | GUID | Description |
CATID_BIZTALK_AIC |
BD193E1D-D7DC-B7C-B9D2-92AE0344C836 | Identifies the component as an application integration component (AIC). |
CATID_BIZTALK_COMPONENT |
5C6C30E7-C66D-40E3-889D-08C5C3099E52 | Identifies the component as a BizTalk Server component. All components that are used with BizTalk Server must implement this category identifier. |
CATID_BIZTALK_CUSTOM_PROCESS |
20E8080F-F624-4401-A203-9D99CF18A6D9 | Identifies the component as a custom preprocessor for a receive function. |
CATID_BIZTALK_IDocSpecExtension |
711E279C-DE24-11D2-974B-00C04F680FE7 | Identifies the component as an extension module for importing XML documents. |
CATID_BIZTALK_MapEditFunctoids |
2560F3BF-DB47-11D2-B3AE-00C04F72D6C1 | Identifies the component as a custom functoid that is displayed in the functoid palette. |
CATID_BIZTALK_PARSER |
C0DCDF4E-692C-11D2-89E7-00C04F79DBAA | Identifies the component as a parser that is used to process inbound documents. |
CATID_BIZTALK_SERIALIZER |
AFCC065F-E0A6-47A6-B0A8-ECAA2FEEE2F4 | Identifies the component as a serializer that is used to process outbound documents. |
To register affinity for an AIC created with Microsoft Visual Basic:
HKEY_CLASSES_ROOT\CLSID
HKEY_CLASSES_ROOT\CLSID\AIC_CLSID\Implemented Categories\{5C6C30E7-C66D-40e3-889D-08C5C3099E52}
HKEY_CLASSES_ROOT\CLSID\AIC_CLSID\Implemented Categories\{BD193E1D-D7DC-4b7c-B9D2-92AE0344C836}
These GUIDs can be found in bts_sdk_guids.h in the Program Files\Microsoft BizTalk Server\SDK\Include folder. The first key shown in step 3 above identifies the AIC as a BizTalk Server component (CATID_BIZTALK_COMPONENT). The second key shown in step 3 above identifies the component as an AIC (CATID_BIZTALK_AIC).