Ich brauche, um einen WCF-Dienst von einer DLL zu konsumieren, daher habe ich keine Konfigurationsdatei zum Lesen von Bindungen Konfigurationen aus.
Ich habe wirklich Schwierigkeiten, es zum Laufen zu bringen. Am Ende, als eine sehr einfache Lösung, füge ich einen Verweis auf die WCF und instanziieren es wie folgt:
WSHttpBinding binding = new WSHttpBinding();
EndpointAddress address = new EndpointAddress("http://myhost.net/Service.svc");
ServiceReference.ServiceClient client = new ServiceReference.ServiceClient(binding, address);
var result = client.Method1();
Auf localhost funktioniert dies einfach. Wenn ich es von einem anderen Rechner aus versuche, bekomme ich diesen Fehler:
The request for security token could not be satisfied because authentication failed.
Im Host ist IIS auf "Anonymous" eingestellt, also sollte es wohl einfach funktionieren.
Gibt es Hilfe?
EDIT: Dienstkonfigurationsdatei
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
<system.serviceModel>
<services>
<service name="Mai.MyPlanner.Service">
<endpoint address="" binding="wsHttpBinding" contract="Mai.MyPlanner.IService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://MY_SERVICE"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<connectionStrings>
<!-- PROD -->
<!-- TEST -->
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>