C# WCF Web API + JSONP
-
25-10-2019 - |
Вопрос
Есть ли простой способ заставить JSONP работать на новые услуги REST Web API WCF?
Я пробовал это без повезло
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name=""
helpEnabled="true"
automaticFormatSelectionEnabled="true"
defaultOutgoingResponseFormat ="Json"
crossDomainScriptAccessEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
Решение
ОБНОВЛЕНИЕ: Последние корабли WCF Web API с интегрированной поддержкой JSONP, тогда как использование почти похоже на то, как описано в ссылке выше.
Другие советы
Вы можете проверить Следующее сообщение в блоге Для использования JSONP с WCF в .NET 4.0.
Просто хотел предоставить более подробную информацию о поддержке WCF WebAPI для JSONP. Мне было очень трудно найти эту информацию, так что, возможно, она поможет кому -то еще ...
Эта ветка На WCF Codeplex есть описание Даниэля Рота о том, как использовать Webapi Cross-Domain JSON запросы (AKA JSONP) с использованием jQuery.
«Образец», который он ссылается, можно найти в репозитории WCF Codeplex здесь. Анкет Это в папке «по умолчанию».
Кроме того, убедитесь, что вы установите WebApienhancents для предварительного просмотра 6, используя Nuget, в противном случае ничего из этого не будет работать.
Вам понадобится Global.asax.cs с чем -то вроде следующего ...
public class Global : System.Web.HttpApplication
{
protected void Application_Start()
{
var config = new WebApiConfiguration() { EnableTestClient = true };
RouteTable.Routes.MapServiceRoute<HelloWorldApi>("api", config);
}
}
Другой ключ - учитывать «расширение» в вашем шаблоне URI ...
[WebGet(UriTemplate="hello{ext}")]
Тогда вы заставляете свой jQuery так же ...
$.getJSON("/api/hello.jsonp?callback=?", function (data) {
$("div").html(data);
});
Вот Еще один пост в блоге это описывает, как добавить JsonpFormatter
к проекту.