WCF数据服务与OData MVVM

WCF数据服务与OData MVVM,wcf,service,odata,Wcf,Service,Odata,我只拥有普通WCF服务和WCF REST服务的实践经验,但随着需求的变化,我需要考虑其他选项 OData和WCF数据服务之间的区别是什么 WCF数据服务OData不是在.Net中吗(它可以配置为返回Atom提要或JSON等) 如果我想做比CRUD更复杂的事情呢 例如,当我发出Http请求并得到如下响应时 req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(FCookieLocation)); HttpWebResponse resp1 =

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

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

WCF数据服务OData不是在.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.NETWeb处理程序有这样的功能,但在我的情况下,我可能需要编写自己的web服务器,在套接字上侦听Http请求(因此连接保持打开),以实现这一点,并保持对套接字的写入,也许

对不起,如果问题不清楚的话,我可以用最好的方式来解释


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

您是指通过HTTP的恒定流吗?

回答您的一些问题:

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

  • WCF数据服务不是.NET中的OData。同样,OData只是有效负载模式;WCF数据服务是交付机制

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

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


    希望这有帮助

    我在你的问题中数了六个独立的问题。也许你可以为每个问题创建一个帖子?这将使我们更容易帮助您解决您的挑战。是的,但是当我停止向流写入时,客户端的响应也应该终止。