C#WCF Web API + JSONP

有没有一种简单的方法可以让JSONP为新的WCF Web APIrest服务工作?

我试过这个没有运气

     

https://alexanderzeitler.com/articles/Look-Ma,-I-can-handle-JSONP-%28aka-Cross-Domain-JSON%29-with-WCF-Web-API-and-jQuery!/

更新:最新的WCF Web API位附带了集成的JSONP支持,而使用情况几乎与上面链接中描述的方式类似。

您可以查看以下博客文章,了解如何在.NET 4.0中使用JSONP和WCF。

只想提供有关WCF WebAPI对JSONP的开箱即用支持的更多详细信息。 我很难找到这些信息,所以也许它会帮助别人……

WCF CodePlex上的这个线程描述了Daniel Roth关于如何使用jQuery使用WebApi跨域JSON查询(也就是JSONP)的描述。

他引用的“示例”可以在WCF CodePlex存储库中找到 。 它位于“默认”文件夹中。

此外,请确保使用NuGet安装预览6的WebApiEnhancements,否则这些都不起作用。

你需要一个类似下面的Global.asax.cs ……

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

另一个关键是在URI模板中考虑“扩展”…

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

然后你就像这样做你的jQuery调用……

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

这是另一篇博客文章 ,描述了如何将JsonpFormatter添加到项目中。