Сообщение об ошибке: «Два разных договора имеют одинаковое configurationname» при загрузке WSDL из XAMLX в AppFabric Beta 2

StackOverflow https://stackoverflow.com/questions/2392975

Вопрос

Я получаю следующее сообщение об ошибке, когда я пытаюсь использовать 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? И почему это отличается, когда я меняю сервис-символ?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top