Вызов службы WCF Rest

#wcf #wcf-rest

#wcf #wcf-rest

Вопрос:

Я вызываю службу rest в ajax. Если я добавлю файл svc в тот же проект и вызову, я смогу вызвать URL

Ниже приведен рабочий URL-адрес

 http://localhost:1947/GreenViewService.svc/?callback
  

Если я добавлю svc в отдельный уровень проекта и вызову в ajax, я не смогу вызвать, он выдает ошибку 403 forbidden, а иногда и ошибку 405.

Если я вызываю приведенный ниже URL-адрес с другого уровня, который не работает, это потому, что номер порта меняется. должен ли я предоставлять какие-либо права доступа.

 function GetDataPoints() {
            alert('S');
            var action = 'http://localhost:1984/GreenViewService.svc/?callback=';
            alert(action);
            $.ajax({
                "type": "GET",
                "url": action,
                "cache": false,
                "contentType": "application/json; charset=utf-8",
                dataType: "text",
                "success": function(result) {
                alert(eval(result));
                    var json = eval(result);
                    //fillDropDown(json, prefix   'DataPoint', 'NodeLabel', 'ID');
                }
            });
        }
  

Комментарии:

1. Не могу указать вам на точную проблему. Но я уже однажды работал со службами rest в проекте .net. Там я столкнулся с проблемой, из-за которой я продолжал получать 403. Я использовал найденную мной библиотеку, см. github.com/mikeobrien/WcfRestContrib . Это помогло мне обеспечить правильный доступ к моему веб-сервису.

Ответ №1:

Как вы говорите, это работает, когда в том же проекте, но не в другом проекте.

Разница в том, что когда это происходит в другом проекте, это межсайтовый вызов.

Для выполнения межсайтового вызова необходимо использовать JSONP