我只有普通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模式?
回答你的一些问题:
-
WCF数据服务是一种用于向客户端交付数据的技术(框架?)。它使用开放数据协议(OData)以RESTful的方式交付这些结果。所以WCF数据服务是服务器(可以这么说),而OData是消息传递模式/格式。
-
WCF Data Services在。net中不是OData。OData只是有效负载模式;WCF数据服务是交付机制。
-
您可以使用WCF数据服务做一些比基本CRUD更复杂的事情。看一下WCF数据服务中的服务操作——它们本质上通过提供专门的方法来做特定的事情,从而让您增强服务。您还可以提供额外的WCF服务和操作来增强您的解决方案。
希望这对你有帮助!
你是指HTTP上的恒定流吗?