我的silverlight + ASP.NET MVC应用程序执行以下操作:
1)Silverlight客户端通过HttpWebRequest发送请求。
2)ASP.NET MVC连接到SQL Server数据库(存储过程) 然后获取XML数据然后将该原始xml发送到客户端 (没有Web服务或WCF)。
3)Silverlight客户端接收xml并使用XmlSerializer类对其进行反序列化。
4)操作反序列化对象,然后序列化并发送回服务器。
5)ASP.NET MVC接收xml并直接将其发送到Database(存储过程) 它被翻新并保存到适当的表格中。
这是一个可接受的架构吗?这种方法有什么问题?此外,使用SL 3似乎有一个使用二进制XML的选项,但是我没有看到如何在没有WCF的情况下使用它的好信息。我发现WCF很重,所以故意避免它。对我来说,基于ASP.NET MVC的RESTful架构似乎更具吸引力。以上描述可能不是RESTful,但我认为非常接近。欢迎任何想法。
答案 0 :(得分:0)
我认为WCF实际上会简化场景并打开许多可能你现在不需要的选项,但在将来可能会有用(例如,如果你决定添加另一种客户端,或者决定实施一些安全机制)。
“二进制XML”绑定与Silverlight客户端(我经常使用它)非常相似,并且大大减少了序列化对象的大小。仅仅因为这个原因,使用WCF是值得的。
(顺便说一句,WCF包含在框架中,所以你要添加的唯一东西就是你的代码有点复杂 - 但实际上并不是那么多 - )