Size matters, keep your BizTalk Map Project small
Whenever a map contains a scripting functoid that uses inline language like c#, BizTalk Map assembly is created in memory. The object in memory is not deleted until the Biztalk service is restarted. This means every mapping operation causes the whole assembly to be loaded into memory. That’s why we must keep maps and schemas in a different projects and keep map projects’ size small.
Another option is not to use inline scripts but it does not seem possible. Because
some of most frequently used fuctoids are inline scripts. You can check below table to see which functoids use incline scripts.
| Functoids | Inline script? |
|---|---|
| All String Functoids | Yes |
| All Mathematical Functoids | Yes |
| All Logical Functoids except IsNil | Yes |
| Logical IsNil Functoid | No |
| All Date/Time Functoids | Yes |
| All Conversion Functoids | Yes |
| All Scientific Functoids | Yes |
| All Cumulative Functoids | Yes |
| All Database Functoids | No |
| Advanced Functoids | Inline script? |
| Looping Functoid | No |
| Value Mapping Flattening Functoid | No |
| Assert Functoid | No |
| Table Extractor Functoid | No |
| Table Looping Functoid | No |
| Scripting Functoid with Inline C# | Yes |
| Scripting Functoid with Inline JScript.NET | Yes |
| Scripting Functoid with Inline Visual Basic .NET | Yes |
| Scripting Functoid with Inline XSLT | No |
| Scripting Functoid with Inline XSLT Call Template | No |
| Scripting Functoid calling External Assembly | No |
| Nil Value Functoid | No |
| Value Mapping Functoid | No |
| Mass Copy Functoid | No |
| Iteration Functoid | No |
| Index Functoid | No |
| Record Count Functoid | No |
Related posts:
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
