Jquery Позвоните на REST самостоятельно размещенный номер порта - PullRequest
0 голосов
/ 13 марта 2012

Я только что попытался создать решение на VS 2010, чтобы практиковать использование служб REST с JQuery. Я использовал шаблон приложения службы WCF REST. Он создал класс, который я назвал Services.cs с методом, который я хотел бы вызвать:

  [WebGet(UriTemplate = "")]
    public List<SampleItem> GetCollection()
    {
        SampleItem item;
        List<SampleItem> lst = new List<SampleItem>();
        for (int i = 0; i < 12; i++)
        {
            item = new SampleItem { Prom = 1960 + i, Name = string.Format("Name {0}", i.ToString()) };
            lst.Add(item);
        }
        return lst;
    }

Global.asax.cs выглядит так: void Application_Start (отправитель объекта, EventArgs e) { RegisterRoutes (); }

    private void RegisterRoutes()
    {
        // Edit the base address of Service1 by replacing the "Service1" string below
        RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(Service)));
    }

Затем я создал новый пустой веб-сайт asp.net, добавил файлы jquery и т. Д. На странице default.htm мне нравится вызывать GetCollection, поэтому я добавил следующий код jquery.

    $(function () {
        var serviceUrl = ??????
        $.ajax({
            url: serviceUrl,
            type: 'POST',
            data: '{}',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (colD) {
                var col = colD.d;
            }

        });
    });

Какой УРЛ плечо я положил? особенно мне трудно разобраться с портом моего хоста. Я пробовал http://localhost:5187/KendoRestService/GetCollection, Где KendoRestService - это имя проекта REST и пространство имен на service.cs. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 19 марта 2012

Хорошо, я нашел номер порта. Проверьте свойства служебного проекта Alt + Enter, вкладка «Веб», в разделе «Серверы» установите флажок «Применить параметры сервера ко всем пользователям» и «Использовать сервер разработки Visual Studio», «Назначить порт автоматически». Существует номер порта перед опцией Specific port. Этот номер порта будет использоваться Visual Studio.

0 голосов
/ 13 марта 2012

Я полагаю, что вы хотите присвоить [WebGet (UriTemplate = "")] значение, т.е. [WebGet (UriTemplate = "getCollection")]

Тогда URL-адрес JavaScript будет:

var serviceUrl = ServiceName/UriTemplate

так в вашем случае:

var serviceUrl = '/getCollection';
...