WCF数据服务vs OData MVVM



我只有普通WCF服务和WCF REST服务的实践经验,但随着需求的变化,我需要考虑其他选项....

OData和WCF数据服务之间的区别是什么?

不是WCF数据服务OData在。net(它可以配置为返回Atom feed或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 web处理程序有这样的功能,但在我的情况下,我可能需要写我自己的web服务器监听一个套接字的Http请求(所以连接保持打开),以实现这一点,并继续写到套接字也许?

对不起,如果你的问题不是很清楚,这只是我能解释的最好的方式。

如何最好地使用WCF数据服务来适应MVVM模式?

回答你的一些问题:

  1. WCF数据服务是一种用于向客户端交付数据的技术(框架?)。它使用开放数据协议(OData)以RESTful的方式交付这些结果。所以WCF数据服务是服务器(可以这么说),而OData是消息传递模式/格式。

  2. WCF Data Services在。net中不是OData。OData只是有效负载模式;WCF数据服务是交付机制。

  3. 您可以使用WCF数据服务做一些比基本CRUD更复杂的事情。看一下WCF数据服务中的服务操作——它们本质上通过提供专门的方法来做特定的事情,从而让您增强服务。您还可以提供额外的WCF服务和操作来增强您的解决方案。

我不确定你关于流媒体和MVVM的其他问题…但我希望这至少是一个正确方向的开始。

希望这对你有帮助!

你是指HTTP上的恒定流吗?

最新更新