WCF, Der Vertragsname 'IMetadataExchange' wurde nicht gefunden
Ich wende einfach Code aus diesem Artikel an,
http://msdn.microsoft.com/en-us/library/ms733766(v=vs.110).aspx
Ich habe nichts geändert, aber nach dem Surfen von IIS erhalte ich
The contract name 'IMetadataExchange' could not be found in the list of contracts implemented by the service CalculatorService. Add a ServiceMetadataBehavior to the configuration file or to the ServiceHost directly to enable support for this contract
Was vielleicht falsch sein kann, habe ich genauso wie der Link gemacht. Ich habe nach einer Antwort gesucht. Ich kann damit umgehen, indem ich hinzufüge
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
Aber ich möchte dies nicht hinzufügen, da beim Betrachten des Links msdn nicht hinzufügt. Was ist der Fehler?
Hier ist meine Konfigurationsdatei:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="Microsoft.ServiceModel.Samples.CalculatorService">
<!-- This endpoint is exposed at the base address provided by host: http://localhost/servicemodelsamples/service.svc -->
<endpoint address=""
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- The mex endpoint is explosed at http://localhost/servicemodelsamples/service.svc/mex -->
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
</configuration>