2010-03-06 2 views
1

Je reçois le message d'erreur suivant lorsque j'essaie d'utiliser svcutil pour générer un proxy client pour un fichier xamlx hébergé par AppFabric beta 2:Message d'erreur: "Deux différents contrats ont le même ConfigurationName" lors du téléchargement wsdl de xamlx dans AppFabric bêta 2

Deux contrats ont la même ConfigurationName

Je comprends le message, cependant, je ne peux pas trouver la cause ou comment y remédier. Je suis le laboratoire 'Introduction to Workflow Services' du kit de formation VS2010RC. L'application Web dispose de deux services: SubmitApplication.xamlx et EducationScreening.xamlx. Je ne sais pas pourquoi, mais les deux ont quatre points d'extrémité. Si je prends un coup d'oeil via le tableau de bord AppFabric dans IIS Gestion 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)) 

Lorsque vous prenez un coup d'oeil à la SubmitApplication.xamlx dans un navigateur, je vois la stacktrace suivante:

[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 

Quelqu'un peut-il dire moi ce que je fais mal?

Je n'ai pas configuré moi-même les liaisons. BasicHttpBinding est ce que vous obtenez par défaut dans .NET 4 lors de l'hébergement d'un service dans une application Web. Les autres liaisons sont configurées par AppFabric. Je ne trouve pas leur configuration nulle part.

Mise à jour: Suppression de l'un des services xamlx (EducationScreening.xamlx). Aucun effet.

Cordialement,
Ronald Wildenberg

Répondre

3

Je l'ai fait quelques recherches et j'ai trouvé le problème. Il existe deux activités ReceiveRequest dans le workflow SubmitApplication.xamlx. Ils avaient deux de ServiceContractName différents:

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

Je ne comprends toujours pas mais le message. Qu'est-ce que le ConfigurationName d'un service xamlx? Et pourquoi est-ce différent quand je change le ServiceContractName?

Questions connexes