Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Benutzerdefinierte referenzierte Functoids kopieren keinen Implementierungscode inline in die Karte. Stattdessen wird ein Verweis auf die Assembly, Klasse und Methode in der Erweiterungsobjektdatei platziert, die dem generierten Stylesheet zugeordnet ist und zur Laufzeit aufgerufen wird.
Beispiel
Im folgenden Beispiel wird gezeigt, wie Sie ein benutzerdefiniertes Functoid erstellen, um zwei Zeichenfolgen zu verketten. Sie basiert auf einer Ressourcendatei, die drei Zeichenfolgenressourcen und eine Bitmapressource mit 16 x 16 Pixeln enthält.
using System;
using Microsoft.BizTalk.BaseFunctoids;
using System.Reflection;
namespace Microsoft.Samples.BizTalk.CustomFunctoid
{
/// <summary>
/// Performs a string concatenation through assembly referenced function. Assembly must be deployed with the BizTalk solution.
/// </summary>
public class CustomStringConcatFunctoid : BaseFunctoid
{
public CustomStringConcatFunctoid()
: base()
{
//ID for this functoid
this.ID = 6001;
// Resource assembly must be ProjectName.ResourceName if building with VS.Net
SetupResourceAssembly("Microsoft.Samples.BizTalk.CustomFunctoid.CustomFunctoidResources", Assembly.GetExecutingAssembly());
// Pass the resource ID names for functoid name, tooltip
// description and the 16x16 bitmap for the Map palette
SetName("IDS_CUSTOMSTRINGCONCATFUNCTOID_NAME");
SetTooltip("IDS_CUSTOMSTRINGCONCATFUNCTOID_TOOLTIP");
SetDescription("IDS_CUSTOMSTRINGCONCATFUNCTOID_DESCRIPTION");
SetBitmap("IDB_CUSTOMSTRINGCONCATFUNCTOID_BITMAP");
// Put this string handling function under the String
// Functoid tab in the Visual Studio toolbox for functoids
this.Category = FunctoidCategory.String;
// 2 required parameters, no optional parameters
this.SetMinParams(2);
this.SetMaxParams(2);
// Functoid accepts two inputs
AddInputConnectionType(ConnectionType.AllExceptRecord);
AddInputConnectionType(ConnectionType.AllExceptRecord);
// Set the output connection type
this.OutputConnectionType = ConnectionType.AllExceptRecord;
// Set the function name that needs to be called
// when this functoid is invoked. The resulting assembly
// must be present in the Global Assembly Cache
// to ensure its availability.
SetExternalFunctionName(GetType().Assembly.FullName, "Microsoft.Samples.BizTalk.CustomFunctoid.CustomStringConcatFunctoid", "ConCatStrings");
}
// This function is executed by BizTalk to do the concatenation
public string ConCatStrings(string val1, string val2)
{
return val2 + val1;
}
}
}
Siehe auch
Verwenden von BaseFunctoid
Entwickeln eines benutzerdefinierten Inline-Functoids
Entwickeln eines benutzerdefinierten Functoids für kumulative Funktionen
Benutzerdefiniertes Functoid (BizTalk Server-Beispiel)