Frage

Ich habe einen WCF-Dienst, der von Client-Seite JavaScript aufgerufen wird. Der Aufruf schlägt fehl mit einem Service null JavaScript-Fehler ist. WebDevelopment Helfer Spur zeigt, dass die Anrufe, die jsdebug Support-Datei führt zu einem 404 (Datei nicht gefunden) Fehlern zu laden.

Ein Neustart von IIS oder die Temp ASP.Net Dateien Ausräumen oder Batch-Einstellung = "false" auf dem Compilation-Tag in web.config löst nicht das Problem

Von dem Browser

https: //Myserver/MyApp/Services/MyService.svc den Service-Metadaten zeigt

aber

https: //Myserver/MyApp/Services/MyService.svc/jsdebug Ergebnisse in einem 404.

Das Problem scheint mit dem HTTPS-Protokoll zu sein. Mit http / jsdebug lädt die Unterstützung JS-Datei.

Irgendwelche Ideen?

TIA

War es hilfreich?

Lösung

es heraus!

Hier ist der Dienste-Konfigurationsabschnitt von web.config

Sehen Sie sich das bindingConfiguration Attribut auf dem Endpunkt. Der Wert „webBinding“ verweist auf die Bindung name = „webBinding“ Tag in den Bindungen und das ist, was den Service sagt es Transportebene Sicherheit verwenden HTTPS. In meinem Fall war der Attributwert auf die Webdienst Anfrage an der / js oder / jsdebug Datei über HTTPS leer verursachte einen 404-Fehler fehlschlagen und werfen.

<services>
      <service name="MyService">
        <endpoint address="" behaviorConfiguration="MyServiceAspNetAjaxBehavior" binding="webHttpBinding" bindingConfiguration="webBinding" contract="Services.MyService" />
      </service>
    </services>
    <bindings>
      <webHttpBinding>
        <binding name="webBinding">
          <security mode="Transport">
          </security>
        </binding>
      </webHttpBinding>
    </bindings>

Beachten Sie, dass das bindingConfiguration Attribut leer sein sollte ( „“), wenn der Dienst über http statt https (wenn ohne certs auf dem lokalen Rechner zu testen)

Hoffe, das hilft jemand.

Andere Tipps

Wenn Sie immer noch den gleichen Fehler erhalten, nachdem alles mögliche Arbeit geleistet. Fügen Sie einfach ein "AJAX aktiviert WCF-Service".

Für mich ist die Frage war folgende; fügten wir MVC zu einer Lösung mit Routing. Unsere WCF-Dienste wurden nicht außer Acht gelassen werden. Ich beschloss, dies durch die folgende Regel hinzufügen (wobei „WCF“ ist der Ordner wir unsere Dienstleistungen halten).

routes.IgnoreRoute("WCF/{*pathInfo}");

Hoffnung, dass jemand ein paar Stunden gespeichert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top