Can't get the JSONP working with WCF Data Services
Asked Answered
J

3

8

It seems from all that I read and watched, exposing JSON from a WCF Data Service should be as easy as adding the JSONPSupportBehavior attribute to the service class.

The problem is that VS2010 doesn't recognize the JSONPSupportBehavior attribute.

Is there a reference I am missing? It seems like from all the articles, it was supported out of the box.

Jacquline answered 6/6, 2010 at 4:21 Comment(2)
I don't think that it's included by default yet. See this link for some example code.Elytron
Download the code here. This one actually works!Logroll
H
9

WCF Data Services supports JSON out of the box, no need to add attributes or anything.

In order to receive a response in JSON format clients use standard HTTP content type negotiation.

Specifically, they need to include application/json in the accept header of the request.

There are examples in this section of the OData protocol documentation.

These examples show the raw HTTP requests. Different client HTTP APIs have different mechanisms to specify request headers.

The JSONPSupportBehavior attribute is an example of an extension that allows clients to use a URL query string option (i.e. $format=json) in addition to content-type negotiation, and also adds support for "JSONP" (i.e. $callback=[function-name]).

These are useful in situations where you don't control the headers, such as when doing cross-domain access through script tags.

If you want to use the JSONPSupportBehavior you can obtain it here:

http://code.msdn.microsoft.com/DataServicesJSONP

Hulky answered 10/6, 2010 at 6:13 Comment(1)
YEs, I had been to the link you supplied but missed the download link which had the class file in it. ThanksJacquline
S
2

Newer versions of WCF Data Services support JSON by default and you must have

Accept: application/json;odata=verbose

in the request header.

Accept: application/json

is no longer sufficient. More info here.

Suave answered 10/5, 2013 at 19:39 Comment(0)
W
0

WCF not only suppors JSON out-of-the-box, but it also supports JSONP out-of-the-box if you use WCF WebApi (preview 6). Get in VS 2010 with NuGet. Once you have it installed, look here for more information.

Winding answered 25/1, 2012 at 7:43 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.