I have a Windows service that reads messages off a message queue and
performs several XSL transforms per message. The XSL documents are embedded
resources in the executing assembly and several contain <xsl:include>
statements. I'm using the XslTransform.Load() method which accepts an
XPathNavigator, an XmlResolver, and an Evidence object. I've created a
custom XmlResolver that resolves the embedded resource XSL documents and I'm
passing Assembly.GetCallingAssembly().Evidence for the Evidence.
Here's the problem: The Evidence object is not releasing its resources and
I'm getting OutOfMemory errors after approximately 3200 calls to the Load
method. The service starts at around 12MB and tops off around 1.7GB. I ran
tests on it all day today and narrowed it down to the Load method and the
Evidence parameter.
If anyone has any experience with this or a solution to this issue, please
let me know ASAP. This is a major part of my current project.
Thank you,
Robert Gaut
Application Developer - Master
Reynolds Web Solutions