Fehlermeldung: „Zwei verschiedene Verträge haben die gleiche Configuration“, wenn Wsdl von xamlx in AppFabric Beta Download 2
-
25-09-2019 - |
Frage
bekomme ich folgende Fehlermeldung, wenn ich versuchen svcutil
zu verwenden, um eine Client-Proxy für eine xamlx
-Datei zu erzeugen, die von AppFabric Beta 2 gehostet wird:
Zwei verschiedene Verträge haben die gleiche Configuration
ich die Nachricht zu verstehen, aber ich kann nicht die Ursache finden oder wie man es beheben. Ich folge die ‚Einführung in Workflow Service‘ Labor vom VS2010RC Training Kit. Die Web-Anwendung hat zwei Dienste an: SubmitApplication.xamlx und EducationScreening.xamlx. Ich bin mir nicht sicher, warum, aber beide haben vier Endpunkte. Wenn ich einen Blick über die AppFabric-Dashboard in IIS Mgmt Studio nehmen:
basicHttpBinding (Contract: *)
(Type: Application(Default))
netNamedPipeBinding (Contract: System.ServiceModel.Activities.IWorkflowInstanceManagement)
(Type: System (workflowControlEndpoint))
netNamedPipeBinding (Contract: *)
(Type: Application (Default))
serviceMetadataHttpGetBinding (Contract: serviceMetadataHttpGetContract)
(Type: System (serviceMetadataEndpoint))
Wenn Sie einen Blick auf die SubmitApplication.xamlx in einem Browser nehmen, sehe ich die folgende Stacktrace:
[InvalidOperationException: Two different contracts have the same ConfigurationName.]
System.ServiceModel.Activities.WorkflowServiceHost.CreateDescription(IDictionary`2& implementedContracts) +361
System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses) +174
System.ServiceModel.Activities.WorkflowServiceHost.InitializeDescription(WorkflowService serviceDefinition, UriSchemeKeyedCollection baseAddresses) +82
System.ServiceModel.Activities.WorkflowServiceHost.InitializeFromConstructor(WorkflowService serviceDefinition, Uri[] baseAddresses) +206
System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory.CreateWorkflowServiceHost(WorkflowService service, Uri[] baseAddresses) +43
System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +974
System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +1423
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +50
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +1132
[ServiceActivationException: The service '/HRApplicationServices/SubmitApplication.xamlx' cannot be activated due to an exception during compilation. The exception message is: Two different contracts have the same ConfigurationName..]
System.Runtime.AsyncResult.End(IAsyncResult result) +889824
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +179150
System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +107
Kann mir jemand sagen, was ich falsch mache?
Ich habe keine der Bindungen selbst konfiguriert. Die Basichttpbinding ist, was Sie standardmäßig in .NET 4 erhalten, wenn ein Service in einem Web-Anwendungs-Hosting. Die anderen Bindungen werden durch AppFabric konfiguriert. Ich kann nicht ihre Konfiguration überall finden.
Aktualisieren : Entfernte einer der xamlx Dienste (EducationScreening.xamlx
). Keine Wirkung.
Mit freundlichen Grüßen, Moinat.net Ronald Wildenberg
Lösung
Ich habe einige weitere Forschung und ich fand das Problem. Es gibt zwei ReceiveRequest Aktivitäten innerhalb des SubmitApplication.xamlx Workflow. Sie hatten zwei verschiedene ServiceContractName suchen:
{http://contoso.com/hr}IApplicationService
{http://contoso.com/hr/}IApplicationService
Ich verstehe immer noch nicht die Nachricht jedoch. Was ist die Configuration eines xamlx Service? Und warum ist es anders, wenn ich die ServiceContractName ändern?