Martijn's blog - E-Commerce, EAI, BizTalk and .NET

2004/09/04

Scripting functoids

Ever wondered how the scripting functoid generates the code to perform what you have put into the buffer, how the checking for validity is done and the methods you define are published?

In reality, Microsoft.BizTalk.BaseFunctoids.InlineScriptCompiler compiles all scripting functoids to the target language. It generates an assembly by using CodeDOM and ICodeCompiler services, in about the same way as outlined in e.g. KB Q304655.

Let's say we have implemented an inline script functoid which defines a C# method like this one:
public string MyConcat(string param1, string param2)
{
   return param1 + param2;
}
The InlineScriptCompiler would generate an assembly like this:
using System;
namespace BizTalkMapper
{
   public class FunctoidInlineScripts {
      public string MyConcat(string param1, string param2)
      {
         return param1 + param2;
      }
}
Considering the above, I would argue that combining your logic into one external assembly would be better for a lot of reasons, including code re-use, documentation purposes (try using NDoc on inline script functoids :-p), functional grouping, the ability to use resources, external assemblies, etc.

Just my 2 cents...

1 Comments:

  • Later my friends told me that if I want to play the game better I should go to earn the Perfect World Gold, so I was very quickly risen to thirty levels, and then I started to play the game alone.I go to Buy Perfect World Gold to treat myself in this game. However she was also very sad when I was hurt, she was sorry about this to me and I did not complain her at last. I was very happy and we went to earn the Perfect World Silver to equip us to become strong. Today I play the game again and I can get a lot of Perfect World money for her, I take her to upgrade and then add her experience. I have a lot of cheap Perfect World Gold and I want to give her in the game, i can have a lot of pw gold if my skills of playing the game well.

    By Anonymous Anonymous, at 1:39 AM  

Post a Comment

Links to this post:

Create a Link

<< Home