自訂參考的功能元不會將程式實作碼內嵌複製到映射中。 相反地,組件、類別和方法的參考會放在與產生的樣式表相關聯的延伸物件檔案中,並在運行時間呼叫。
範例
下列範例說明如何建立自訂的函數來串接兩個字串。 它依賴包含三個字串資源和16x16像素圖資源的資源檔。
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;
}
}
}
另請參閱
使用BaseFunctoid
開發自定義內嵌功能元件
開發自定義累計功能元件
自訂函式元 (BizTalk Server 範例)