Одним из препятствий той же политики происхождения является то, что он не поддерживает разные порты или поддомены. В результате, если вы размещаете свои службы на субдомену, таком как services.site.com, вы не можете вызывать услугу с сайта www.site.com без использования JSONP.WCF: происхождение белых списков с использованием JSONP
Есть ли способ настроить вашу службу WCF только для приема запроса от определенного источника?
Пример:
$(document).ready(function() {
$("#Button").click(function() {
$.getJSON("http://services.site.com/service.svc/myService?callback=?", function (data) {
var jObj = $.parseJSON(data);
$("#Result").html(jObj.MyValue);
});
});
});
Если это был вызван из www.site.com я хочу работать. Но если другой сайт, например, www.example.com, назвал его, я бы хотел, чтобы служба WCF блокировала его.
Я попытался настройки файла web.config иметь:
<identity>
<dns value="www.example.com"/>
</identity>
Но когда я пытался дозвониться из www.site.com он все еще работал нормально. Скорее всего, это потому, что я установил crossDomainScriptAccessEnabled в true, чтобы JSONP вернул правильное значение обратного вызова. Только работала с WCF уже несколько дней.
Заранее спасибо.