UPDATE 3:
ich ein Visual Studio 2008-Testprojekt erstellt und versuchte, einen Dienstverweis auf gemeinsam genutzte Site WCF Dienstverweis und erhielt die folgenden Fehler zu erzeugen:Load Balancing Fehler mit WCF-Dienst - NLB
There was an error downloading ' http://apps.mydomain/MyService.svc '. The request failed with HTTP status 400: Bad Request. Metadata contains a reference that cannot be resolved: ' http://apps.mydomain/MyService.svc '. Content Type application/soap+xml; charset=utf-8 was not supported by service http://apps.mydomain/MyService.svc '. The client and service bindings may be mismatched. The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'.. If the service is defined in the current solution, try building the solution and adding the service reference again.
UPDATE 2:
@Nick - Ich habe Ihren Vorschlag der expliziten Einstellung der Adresse jedes Endpunkts mit dem vollständig qualifizierten Pfad jedes Servers versucht, und ich bekomme immer noch das gleiche Ergebnis.
Wenn ich versuche, das Attribut listenUri mit der gemeinsamen Site-URL festzulegen, erhalte ich statt eines 404-Fehlers einen 400-Fehleranforderungsfehler.
UPDATE
Nach einigen weiteren Studien gab es einige IIS Konfigurationskonflikte zwischen http://apps1.mydomain und http://apps2.mydomain und war in der Lage zu erhalten vorbei an der „Server Application Unavailable“ Fehler einstellen.
Jetzt erhalte ich einen Fehler 404, als ich versuchte, zu der freigegebenen Site zu navigieren (http://apps.mydomain), aber ich bin in der Lage, zu der http://apps1.mydomain und http://apps2.mydomain Service-Referenz zu suchen.
Original-Problem
Mein Unternehmen verwendet Microsoft NLB Gleichgewicht Verkehr zwischen unserem IIS-Server zu laden. Ich habe kürzlich einen WCF-Dienst auf jedem IIS 6 Windows Server 2003 Standard Edition SP1-Server bereitgestellt. Ich erhielt folgende Fehlermeldung, wenn ich versuchte, auf den gemeinsamen genutzten Domain-Namen 7 mit IE zu durchsuchen:
Server Application Unavailable The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.
Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.
Der Verbraucher zum http://apps.mydomain wird zeigen, den Dienst zu nutzen, aber virtuelle Domain auf http://apps1.mydomain oder http://apps2.mydomain abgebildet. Wenn ich zu dem Dienst auf jedem Server browse, erhalte ich diesen Fehler nicht.
Der Dienst verwendet derzeit eine anonyme basicHttpBinding.
Hat noch jemand dieses Problem erlebt?
Geschichte
Bevor dieser Fehler auftritt, gestartet, ich folgende Fehlermeldung erhalten, wenn ich alle drei Domain-Namen broswed (http://apps.mydomain, http://apps1.mydomain, http://apps2.mydomain):
This collection already contains an address with scheme http. There can be at most one address per scheme in this collection.
ich die ServiceHostFactory verwendet class, um meine .svc-Datei anzupassen, um eine benutzerdefinierte Service Factory anzugeben. Dann erstelle ich unsere benutzerdefinierte Factory, indem sie von ServiceHostFactory erbt und bei Bedarf überschreibt.
public class MyFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
return new ServiceHost(serviceType, baseAddresses[0]);
}
}
<%@ ServiceHost Language="C#" Factory="MyFactory" Debug="true" Service="MyService" CodeBehind="~/App_Code/MyService.cs" %>
@Nick - Können Sie ein Beispiel angeben oder eine Ressource bereitstellen? –