Home Page › Forums › BizTalk 2004 – BizTalk 2010 › Receive Pipeline : Out of Memory exceptions › Re: Receive Pipeline : Out of Memory exceptions
Anon,
For the archiving, can I suggest that you take a look at my pipeline archiving component (http://www.codeplex.com/btsmsgarchcomp) which is designed for this very purpose; from the project blurb:
The
component introduces a powerful concept of user defined ‘macros’ to
help build archive paths which are unique to the message being
archived. Macros are replaced with message context-property values as a
message passes through the component. In previous versions, these
macros were hard-coded into the component, however this release
introduces the concept of a ‘Macro Definitions’ Xml configuration file,
which can be amended by the user allowing any out-of-the-box or custom
context property to be referenced in a macro.
Writing of the
archive file is accomplished during the read-event of the FOE stream,
essentially spooling the archive file to disk (or network share) as the
stream is read by downstream components or the Messaging Agent itself.
As for the prefixing of characters onto the header and detail records, I would suggest that you investigate using the VirtualStream stream in your pipreline component rather than the standard MemoryStream. The VirtualStream caches data in the stream in a MemoryStream until it reaches a threshold, over which the
data is overflowed to a secure location on disk. After the stream is
closed the disk file is automatically deleted. For more information see:
- http://blogs.neudesic.com/blogs/enterprise_integration/archive/2006/12/27/1366.aspx
- http://technet.microsoft.com/en-us/library/microsoft.biztalk.streaming.virtualstream.aspx
Nick.