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.
Dieses Thema enthält Informationen darüber, wie Sie die WF- und WCF-Abfänger direkt aus Ihrem Code laden können, anstatt über eine Konfigurationsdatei.
Vorsicht
In diesem Beispiel oder Leitfaden wird auf vertrauliche Informationen verwiesen, z. B. auf eine Verbindungszeichenfolge oder einen Benutzernamen und ein Kennwort. Codieren Sie diese Werte niemals in Ihrem Code, und stellen Sie sicher, dass Sie vertrauliche Daten mithilfe der sichersten verfügbaren Authentifizierung schützen. Weitere Informationen finden Sie in der folgenden Dokumentation:
Laden des WF-Interceptors aus Code
Um die WF-Interceptorlaufzeit aus Ihrem Code zu laden, müssen Sie eine neue Instanz von WorkflowRuntime erstellen und die AddService-Methode mit einer neuen Instanz von BamTrackingService aufrufen. Dies wird unten gezeigt.
string connectionString = "Integrated Security=SSPI;Data Source=.;Initial Catalog=BAMPrimaryImport";
int PollingIntervalSec = 300;
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
workflowRuntime.AddService(new BamTrackingService(connectionString, interceptorConfigurationPollingInterval));
Laden des WCF-Interceptors aus Code
Um den WCF-Interceptor zu laden, müssen Sie eine abgeleitete Klasse erstellen, die den Dienst öffnet und für Ihre Implementierung zugänglich ist. Dies wird unten gezeigt.
// Your project must have a reference to Microsoft.BizTalk.BAM.Interceptors.dll.
// Create a derived class accessible to the implementation that opens the service.
internal class MyBamBehaviorExtension : BamBehaviorExtension
{
internal MyBamBehaviorExtension(string connectionString, int pollingInterval)
: base()
{
this.ConnectionString = connectionString;
this.PollingIntervalSec = pollingInterval.ToString();
}
internal IEndpointBehavior Create()
{
return (IEndpointBehavior) this.CreateBehavior();
}
}
// Add the endpoint behavior just before the service is opened.
// In this example the connection string and polling intervals are being read from appSettings in App.config.
MyBamBehaviorExtension bamBehaviorExtension = new MyBamBehaviorExtension(ConfigurationManager.AppSettings["ConnectionString"], int.Parse(ConfigurationManager.AppSettings["PollingIntervalSec"]));
IEndpointBehavior bamBehavior = bamBehaviorExtension.Create();
foreach (System.ServiceModel.Description.ServiceEndpoint endpoint in myServiceHost.Description.Endpoints)
{
if (endpoint.Behaviors.Find<MyBamBehaviorExtension>() == null)
endpoint.Behaviors.Add(bamBehavior);
}