Frage

Gibt es eine einfache Möglichkeit, JSONP für die neuen WCF -Web -API -REST -Dienste zum Arbeiten zu bringen?

Ich habe das ohne Glück versucht

<standardEndpoints>
  <webHttpEndpoint>
    <standardEndpoint name=""
                      helpEnabled="true"
                      automaticFormatSelectionEnabled="true"
                      defaultOutgoingResponseFormat ="Json"
                      crossDomainScriptAccessEnabled="true"/>
  </webHttpEndpoint>
</standardEndpoints>
War es hilfreich?

Lösung

https://alexanderzeitler.com/articles/look-ma-i-can-handle-jsonp-%28aka-cross-domain-json%29-with-web-b-api-and-jquery!

UPDATE: Die neuesten WCF -Web -API -Bits Schiffe mit integrierter JSONP -Unterstützung, während die Verwendung nahezu ähnlich ist wie in dem obigen Link beschrieben.

Andere Tipps

Sie können das überprüfen folgenden Blog -Beitrag Für die Verwendung von JSONP mit WCF in .NET 4.0.

Ich wollte nur mehr Details zu WCF Webapi-Unterstützung für JSONP bereitstellen. Es fiel mir sehr schwer, diese Informationen zu finden, also wird es vielleicht jemand anderem helfen ...

Dieser Thread Auf dem WCF Codeplex hat Daniel Roth eine Beschreibung über die Verwendung von Webapi-Cross-Domain-JSON-Abfragen (AKA JSONP) mit JQuery.

Das "Beispiel", das er Referenzen hat, finden Sie im WCF Codeplex -Repository hier. Es befindet sich im Ordner "Standard".

Stellen Sie außerdem sicher, dass Sie die WebapienHancements für die Vorschau 6 mit Nuget installieren, da sonst nichts davon funktioniert.

Sie benötigen ein global.asax.cs mit so etwas wie folgt ...

public class Global : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        var config = new WebApiConfiguration() { EnableTestClient = true };
        RouteTable.Routes.MapServiceRoute<HelloWorldApi>("api", config);
    }
}

Der andere Schlüssel besteht darin, eine "Erweiterung" in Ihrer URI -Vorlage zu berücksichtigen ...

[WebGet(UriTemplate="hello{ext}")]

Dann bringen Sie Ihren jQuery -Anruf wie diesen ...

$.getJSON("/api/hello.jsonp?callback=?", function (data) {
    $("div").html(data);
}); 

Hier ist Ein weiterer Blog -Beitrag das beschreibt, wie man a hinzufügt JsonpFormatter zu einem Projekt.

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