Подобный вопрос уже задавался здесь:
Работа службы ADO.Net Services с параметрами вызывается из клиентской библиотеки не работает
Полное описание проблемы, как у меня сейчас. Единственное отличие - это то, что я правильно передаю все параметры.
У меня есть этот метод операции, определенный в службе данных:
[WebGet]
public IQueryable<Equipment> GetCompanyEquips(int id)
{
return this.CurrentDataSource.GetCompanyEquips(id);
}
И я могу без проблем получить результат в своем веб-браузере:
http://localhost:51685/ITSServiceOData.svc/GetCompanyEquips?id=18
Но когда я пытаюсь получить на своем клиенте такой результат:
var r = this.CreateQuery<Equipment>("GetCompanyEquips");
r.AddQueryOption("id", CompanyId);
r.ToArray();
У меня есть следующее исключение:
«Произошла ошибка при обработке этого запроса».
Также я вижу в отладчике, что r.Query = "{http://localhost:51685/ITSServiceOData.svc/GetCompanyEquips} ", и я подозреваю, что здесь что-то не так, потому что я не вижу здесь? Id = 18 в конце.
Также, когда я вызываю такой метод:
this.Execute ("http://localhost:51685/ITSServiceOData.svc/GetCompanyEquips?id=18 ") - return содержит пустое перечисление (хотя в этом случае исключение не возникает), но когда я вызываю ту же строку запроса в браузере, он показывает ожидаемый результат.
Также, когда я вызываю аналогичным образом метод, у которого нет никаких параметров, все работает нормально. Пожалуйста помоги! Я потратил целый день на эту проблему, ища в Интернете, пытаясь решить проблему, но не нашел ничего плохого в моем коде!
Спасибо.