Я только что попытался создать решение для VS 2010, чтобы попрактиковаться в использовании служб REST с помощью JQuery. Я использовал шаблон WCF REST Service Application. Он создал класс, который я назвал 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;
}
});
});
какой URL я должен указать? особенно мне трудно определить порт на моем hostlocal. Я попробовал http://localhost:5187/KendoRestService/GetCollection, где KendoRestService — это имя проекта REST. и пространство имен в service.cs. Любая помощь будет принята с благодарностью.