代码之家  ›  专栏  ›  技术社区  ›  Ronald Wildenberg

从AppFabric Beta 2中的xamlx下载wsdl时出现错误消息:“两个不同的契约具有相同的配置名称”

  •  1
  • Ronald Wildenberg  · 技术社区  · 14 年前

    当我试图使用 svcutil xamlx AppFabric Beta 2托管的文件:

    两个不同的合同具有相同的配置名称

    我理解这个信息,但是,我找不到它的原因或如何解决它。我正在关注VS2010RC培训工具包中的“工作流服务简介”实验室。web应用程序有两个服务:submitapplication.xamlx和educationscreening.xamlx。我不知道为什么,但他们都有四个终点。如果我通过IIS管理工作室中的AppFabric仪表板查看:

    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))
    

    在浏览器中查看submitapplication.xamlx时,我看到以下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
    

    有人能告诉我我做错了什么吗?

    我自己还没有配置任何绑定。BasicHttpBinding是在.NET4中在Web应用程序中托管服务时默认获得的。其他绑定由appfabric配置。我在任何地方都找不到它们的配置。

    更新 :删除了一个xamlx服务( EducationScreening.xamlx )没有效果。

    谨致问候,
    罗纳德·威尔登堡

    1 回复  |  直到 14 年前
        1
  •  3
  •   Ronald Wildenberg    14 年前

    我做了进一步的研究,发现了问题。 SubmitApp.xamlx工作流中有两个Receiverequest活动。 他们有两个不同的服务合同名:

    {http://contoso.com/hr}IApplicationService
    {http://contoso.com/hr/}IApplicationService
    

    不过,我还是不明白这条信息。 xamlx服务的配置名是什么? 为什么我更改ServiceContractName时会有所不同?