Ich habe einen WCF-REST-Service auf IIS 7.5 Windows 2008 R2 gehostet. Der Dienst funktioniert wie erwartet, außer wenn ein Client versucht, eine Nachricht größer als ~ 25 MB zu senden. Insbesondere beim Senden einer Nachrichtengröße von ~ 25 MB empfängt und verarbeitet der Dienst die Nachricht ordnungsgemäß, beim Senden einer Nachricht mit einer Größe von ~ 31 MB schlägt er fehl.
Wenn Sie lokal in VS 2010 gehostet werden, wird die Nachricht ohne Fehler empfangen. Bei der Remote-Bereitstellung in IIS 7.5 antwortet der Dienst sofort mit: "System.ServiceModel.EndpointNotFoundException: Es gab keinen Endpunkt bei ...", die innere Ausnahme ist: "Der Remote-Server hat einen Fehler zurückgegeben: (404) Not Found" .
Dies unterscheidet sich von der Ausnahme, die auftritt, wenn die Einstellung für die maximale Nachrichtengröße nicht ausreicht. Wenn ich davon ausgehe, dass wenn ich lokal gehostet werde, bekomme ich keinen Fehler, meine Vermutung ist, dass es etwas mit IIS oder vielleicht einigen Firewall-Einstellungen zu tun hat.
Dies ist die Konfiguration:
%Vor% Es ist die maximale Uploadgröße von IIS, die Sie beißt. Der Standardwert ist 30 MB. Sie können es in web.config
beheben:
Sie können es auch im IIS-Manager ändern, irgendwo in Request Filtering / Feature-Einstellungen . Der zu korrigierende Wert ist "Maximal erlaubte Inhaltslänge (Bytes)".