要在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 DescriptionCATID_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:
After registering your component using Regsvr32.exe, search the registry for the CLSID of your AIC under the following key:
HKEY_CLASSES_ROOT\CLSID
Expand the Implemented Categories key of your AIC.
Add two new keys with the following names:
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).