2011-09-19 87 views
0

我只有用普通WCF服務和WCF REST服務的實踐經驗,但隨着需求的改變,我需要看看其他的選擇....WCF數據服務的OData VS MVVM

是什麼的OData和WCF之間的差異數據服務?

.net中的WCF數據服務OData是不是可以配置爲返回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 Web處理程序具有這樣的功能,但在我的情況下,我可能需要編寫我自己的Web服務器,在Http請求的套接字上進行偵聽(因此連接保持打開狀態)以實現此目的並繼續寫入到插座也許?

對不起,如果問題不清楚,只是我可以解釋它的最好方法。

如何最好使用WCF數據服務來適應MVVM模式?

+0

我在你的問題中計算了六個單獨的問題。也許你可以爲每個問題創建一個帖子?這將使我們更容易幫助您解決您的挑戰。 –

回答

2

爲了回答大家的一些問題:

  1. WCF數據服務是用於將數據傳送到客戶端技術(框架?)。它使用開放數據協議(OData)以RESTful方式提供這些結果。所以WCF數據服務是服務器(可以這麼說),OData是消息傳遞模式/格式。

  2. WCF Data Services不是.NET中的OData。同樣,OData只是有效載荷模式; WCF數據服務是交付機制。

  3. 您可以使用WCF數據服務執行比基本CRUD更復雜的操作。看一下WCF數據服務中的Service Operations--它們基本上讓你通過提供專門的方法來完成特定的事情來增強你的服務。您還可以提供其他WCF服務和操作來增強您的解決方案。

我不確定關於流媒體和MVVM的其他問題......但我希望這至少是一個正確的方向。

希望這會有所幫助!

0

你的意思是通過HTTP持續流嗎?

+0

是的,但是當我停止寫入流時,客戶端的響應也應該終止。 – TheWommies

相關問題