1

を使用して、AppFabric ベータ 2 によってホストされてsvcutilいるファイルのクライアント プロキシを生成しようとすると、次のエラー メッセージが表示されます。xamlx

2 つの異なるコントラクトが同じ ConfigurationName を持っています

メッセージは理解できますが、原因や修正方法がわかりません。VS2010RC トレーニング キットの「Introduction to Workflow Services」ラボに従っています。Web アプリケーションには、SubmitApplication.xamlx と EducationScreening.xamlx の 2 つのサービスがあります。理由はわかりませんが、どちらも 4 つのエンドポイントを持っています。IIS Mgmt Studio の 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 を見ると、次のスタック トレースが表示されます。

[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 は、Web アプリケーション内でサービスをホストするときに .NET 4 で既定で取得されるものです。他のバインディングは、AppFabric によって構成されます。それらの構成がどこにも見つかりません。

更新: xamlx サービスの 1 つを削除しました ( EducationScreening.xamlx)。無効。

敬具、
ロナルド・ヴィルデンバーグ

4

1 に答える 1

4

さらに調査を行ったところ、問題が見つかりました。SubmitApplication.xamlx ワークフロー内には 2 つの ReceiveRequest アクティビティがあります。2 つの異なる ServiceContractName がありました。

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

しかし、私はまだメッセージを理解していません。xamlx サービスの ConfigurationName とは何ですか? また、ServiceContractName を変更すると異なるのはなぜですか?

于 2010-03-09T05:51:55.997 に答える