và mã hóa nó đúng cách để các hệ thống hạ lưu có thể đọc các thông tin đặt hàng. Các cổng gửi cũng trở về lại tin nhắn trả lời cho biết Mặc dù thời gian chạy tùy biến quy tắc có thể được thực hiện đơn giản bằng cách sử dụng bảng cơ sở dữ liệu hoặc | CHAPTER 5 PIPELINE COMPONENT BEST PRACTICES AND EXAMPLES 183 Public Sub Save ByVal propertyBag As IPropertyBag ByVal clearDirty As_ Boolean ByVal saveAllProperties As Boolean Dim val As Object val CObj _recipient WritePropertyBag propertyBag Recipient val val CObj _PGPBinDirectory WritePropertyBag propertyBag PGPBinDirectory val End Sub End Region Region IComponent Members Public Function Execute ByVal pContext As IPipelineContext ByVal pInMsg As As_ Try If Not pInMsg Is Nothing Then Dim originalStream As Stream _ Encode originalStream End If Catch ex As Exception Exception caught in_ Execute End Try Return pInMsg End Function End Region Region IComponentUI Members summary The Validate method is called by the BizTalk Editor during the build of a BizTalk project. summary param name obj An Object containing the configuration properties. param returns The IEnumerator enables the caller to enumerate through a collection of strings containing error messages. These error messages appear as compiler error messages. To report successful property validation the method should return an empty enumerator. returns Public Function Validate ByVal projectSystem As Object As IEnumerator 184 CHAPTER 5 PIPELINE COMPONENT BEST PRACTICES AND EXAMPLES example implementation ArrayList errorList new ArrayList This is a compiler error return Return Nothing End Function End Region Region Utility Functions Public Shared Sub DumpStreamToFile ByVal fromStream As Stream ByVal _ toFilename As String Dim file As FileStream Nothing Try file New FileStream toFilename Dim tmpBuff As Byte New Byte 4095 Dim bytesRead As Integer 0 .