У меня был только практический опыт работы с простыми службами WCF и службами WCF REST, но по мере изменения потребностей мне нужно рассмотреть другие варианты ....
В чем разница между службами данных OData и WCF?
Разве OData служб данных WCF не находится в .Net (его можно настроить для возврата фида Atom или JSON и т. Д.)?
Что, если бы я хотел сделать что-то более сложное, чем просто CRUD?
Например, когда я делаю запрос Http и получаю ответ, как показано ниже.
req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(FCookieLocation));
HttpWebResponse resp1 = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
Я хочу сделать что-нибудь вроде
while (true)
{
byte b = stream.ReadByte();
}
Но службы REST, как только вы вернетесь из написанного вами метода, немедленно прекратят ответ. Есть ли способ сохранить поток на стороне сервера, чтобы я мог продолжать записывать в него данные, а клиент просто продолжал читать с него?
Я знаю, что веб-обработчики ASP.Net имеют что-то вроде такой функции, но в моем случае мне может потребоваться написать свой собственный веб-сервер, который прослушивает сокет для запросов Http (так что соединение остается открытым), чтобы достичь этого и, возможно, продолжать писать в сокет ?
Извините, если вопрос не ясен, просто как я могу его объяснить.
Как лучше всего использовать службы данных WCF в соответствии с шаблоном MVVM?