0

我的Silverlight + ASP.NET MVC應用Silverlight應用程序執行以下操作:與二進制XML

1)Silverlight客戶端通過發送HttpWebRequest的請求。

2)ASP.NET MVC連接到SQL Server數據庫(存儲過程) ,再返回XML數據,那麼這將是原始XML到客戶端 (沒有Web服務或WCF)。

3)Silverlight客戶端接收xml並使用XmlSerializer類對其進行反序列化。

4)反序列化的對象被操縱,然後序列化併發送回服務器。

5)ASP.NET MVC收到xml並直接發送到數據庫(存儲過程) ,在那裏它被刪除並保存到適當的表。

這是一個可接受的建築?這種方法有什麼問題?另外,對於SL 3,似乎可以選擇使用二進制XML,但是我沒有看到如何在沒有WCF的情況下使用它的好信息。我發現WCF很沉重,故意避免它。對我而言,基於ASP.NET MVC的RESTful架構似乎更具吸引力。以上描述可能不是RESTful,但我認爲非常接近。任何想法都歡迎。

回答

0

我認爲WCF實際上會簡化場景並打開很多選項,可能您現在不需要但可能對您將來有用(例如,如果您決定添加另一種客戶端,或決定實施一些安全機制)。

「Binary XML」綁定對於Silverlight客戶端(我使用它很多)工作得非常好,並且大大減少了序列化對象的大小。僅憑此原因,使用WCF可能是值得的。

(順便說一句,WCF包含在框架中,所以你唯一要添加的東西是你的代碼有點複雜 - 但實際上並沒有那麼多)