Die Dienstaktivierung schlägt möglicherweise fehl, wenn ein vorab kompilierter WCF-Workflowdienst gehostet wird, der mit einer SVC-Datei umschlossen ist.
Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem die Dienstaktivierung fehlschlagen kann, wenn ein vorkompiliertes Windows Communication Foundation (WCF)-Workflowdienst gehostet wird, der mit einer SVC-Datei umschlossen ist.
Ursprüngliche Produktversion: Windows Workflow Foundation 4.0
Ursprüngliche KB-Nummer: 2286155
Problembeschreibung
Wenn ein vorkompiliertes WCF-Workflowdienst gehostet wird, das mit einer SVC-Datei umbrochen wird, schlägt die Dienstaktivierung möglicherweise mit einem Ausnahmefehler fehl.
Ursache
Dieses Problem kann auftreten, wenn der Dienstpfad nicht englische Zeichen enthält. Der folgende Dienstpfad kann z. B. dieses Problem verursachen:
application_name+directory_name+file_name
Problemumgehung
Um dieses Problem zu umgehen, verwenden Sie die konfigurationsbasierte Aktivierung.
Angenommen, Sie verfügen über eine Anwendung und einen vorkompilierten WCF-Workflowdienst wie diesen, der in CalculatorService der Datei "Service.svc" folgendermaßen umschlossen ist:
<% @ServiceHost
language=c#
Factory="System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory,Service="CalculatorService"%>
Wenn CalculatorService die Dienstaktivierung gehostet wird, tritt möglicherweise ein Ausnahmefehler auf.
Um dieses Problem zu umgehen, fügen Sie der Anwendung einen Teil hinzu, der dem folgenden Beispiel ähnelt, um Web.config Datei zu erstellen:
<System.serviceModel>
<serviceHostingEnvironment>
<serviceActivations>
<add relativeAddress="~/service.svc" service="CalculatorService"
factory="System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory"/>
</serviceActivations>
</serviceHostingEnvironment>
</system.serviceModel>