У меня есть модель EF4 с хранимой процедурой, которую я хочу вызвать от клиента. Серверный код выглядит следующим образом:Вызов функции WCF DataService [WebGet] от клиента
[WebGet]
public IQueryable<SalesData> GetSalesReport(int reportType, int yr, int m, int d)
{
DateTime dt = new DateTime(yr, m, d);
return this.CurrentDataSource.RP_SalesReport(reportType, dt, dt).AsQueryable<SalesData>();
}
При вызове с помощью IE, используя URL-адрес «HTTP: // локальный: 12345/MyService.svc/GetSalesReport = 1 Тип уведомления & год = 2009 & м = 4 & d = 2 "работает так, как ожидалось.
В моем клиентском приложении я добавил ссылку на Службу (http: // localhost: 12345/MyService.svc) и то, что я попробовал, функция «GetSalesReport» не отображается в обозревателе объектов. (Нормальные объекты EF отображаются в обозревателе объектов)
Так что мой вопрос: как я могу назвать эту функцию у клиента?
И есть ли разница в том, как вызвать эту функцию в зависимости от клиента (я хочу вызвать эту функцию из приложения Silverlight Silverlight, но сейчас я тестирую с помощью тестового клиента WPF).
Какие атрибуты вы ассоциировали с этим методом в ServiceContract? –
Это служба данных ADO.NET (кодовое имя «Astoria»), и единственным атрибутом, который у меня есть, является [WebGet]. Насколько я знаю, вы не можете добавить [ServiceContract] в службу данных ADO.NET. – Ronny
Вы проверили сгенерированный код? У вас должен быть огромный файл с сгенерированными объектами. У него есть запись для GetSalesReport и как она выглядит? –