Сообщение об ошибке: «Два разных договора имеют одинаковое configurationname» при загрузке WSDL из XAMLX в AppFabric Beta 2
-
25-09-2019 - |
Вопрос
Я получаю следующее сообщение об ошибке, когда я пытаюсь использовать svcutil
Создать клиентский прокси для xamlx
Файл, который размещен AppFabric Beta 2:
Два разных договора имеют одинаковое имя конфигурации
Я понимаю сообщение, однако, я не могу найти его причина или как это исправить. Я следую за лабораторию «Введение в Lab Workflow Services» из тренировочного комплекта VS2010RC. В веб-приложении есть два сервиса: undaPlication.xamlx и pookationscreening.xamlx. Я не уверен, почему, но оба из них имеют четыре конечных точка. Если я посмотрю через AppFabric Dashboard в IIS MGMT Studio:
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))
При взгляде на SubmagePlication.xamlx в браузере я вижу следующую штабел:
[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
Кто-нибудь может сказать мне, что я делаю не так?
Я не настроил ни одного из привязок самого себя. Basichttpbinding - это то, что вы получаете по умолчанию в .NET 4 при размещении сервиса внутри веб-приложения. Другие привязки настроены AppFabric. Я не могу найти их конфигурацию где угодно.
Обновлять: Удалены один из услуг XAMLX (EducationScreening.xamlx
). Нет эффекта.
С уважением,
Рональд Уайльэнберг
Решение
Я сделал несколько дальнейших исследований, и я нашел проблему. В разделе «Рабочий процесс. В рабочем процессе. У них было два разных ServiceContractName:
{http://contoso.com/hr}IApplicationService
{http://contoso.com/hr/}IApplicationService
Я до сих пор не понимаю сообщение. Что такое конфигурация службы XAMLX? И почему это отличается, когда я меняю сервис-символ?