fragen stichworte

Wie können Sie die Tatsache verbergen, dass Ihr Server über einen WCF-Dienst unter MyService.svc verfügt

Gibt es eine Möglichkeit, eine benutzerdefinierte Seite "Sorry not found" von einer Direktzugriffsanfrage an einen WCF-Dienst (.svc-Datei) auf einem Server mit IIS 6.0 und .NET 3.5 SP1 bereitzustellen.

Ich habe die Anforderung, dass mein Service in einer Produktionsumgebung nicht auffindbar ist. Die Anforderung gibt an, dass die WSDL-Veröffentlichung deaktiviert sein sollte, und die Anforderung gibt außerdem an, dass beim direkten Zugriff auf die Datei MyService.svc über eine HTTP-Get-Anforderung stattdessen eine Seite "Sorry Not found" angezeigt wird.

Ich habe kein Problem, die Metadaten in der Konfigurationsdatei zu deaktivieren.

<serviceMetadata httpGetEnabled="false"/>

Ich kann jedoch keine Möglichkeit finden, die Standard-.svc-Seite nicht anzuzeigen.

SERVICE
Dies ist ein Windows © Communication Foundation-Dienst.

Das Veröffentlichen von Metadaten für diesen Dienst ist zurzeit deaktiviert.

Wenn Sie Zugriff auf den Dienst haben, können Sie die Veröffentlichung von Metadaten aktivieren, indem Sie die folgenden Schritte zum Ändern Ihrer Web- oder Anwendungskonfigurationsdatei ausführen: ...

Wird auch unter Stackoverflow veröffentlicht.

antworten

Können Sie den Zugriff nicht einfach mit Ihren Dateien clientaccesspolicy.xml oder crossdomainpolicy.xml einschränken?

Sie können den Dienst auch an einem anderen Port hosten, wenn Sie befürchten, dass jemand auf http://yoursite/service.svc

wandert

Beispiel für eine crossdomainpolicy.xml von yourdomain.com

<cross-domain-policy>
  <site-control permitted-cross-domain-policies="all"/> 
  <allow-access-from domain="*.yourdomain.com" secure="false"/> 
  <allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
</cross-domain-policy>