0
 <system.serviceModel>
    <services>
      <service
          name="myClass.IService1"  behaviorConfiguration="myService">
        <endpoint
          name="ep1"
          address="http://localhost:57582/Service1.svc"
          contract="IService1"
          binding="basicHttpBinding"
          />
        <endpoint 
             address="mex"
             binding="mexHttpBinding"
             contract="IMetadataExchange" />
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="myService">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

しかし、それでも次のエラーが発生します::サービスの追加に失敗しました。サービスメタデータにアクセスできない可能性があります。サービスが実行され、メタデータが公開されていることを確認してください。

4

1 に答える 1

1
  1. あなたのサービス名IService1-これは実際には契約のようです。通常のテンプレートを使用している場合は IIService1

  2. IISホスティングを使用している場合addressは、.svcファイルの場所が自動的にアドレスになるため、を削除できます。

  3. 契約は、契約インターフェースの名前空間を含めて完全に修飾されている必要があります

これが適切な場所にあると、メタデータは<.svc file location>?wsdl

于 2012-05-30T10:42:51.367 に答える