【问题标题】:How complex an object can be passed to silverlight from server, using WCF?使用 WCF 可以将对象从服务器传递到 Silverlight 的复杂程度如何?
【发布时间】:2009-10-12 10:05:01
【问题描述】:

请注意,我在 Silverlight/.Net 和 WCF 方面的经验是大约两周的谷歌搜索和解密教程。我需要尝试并向客户提供反馈,了解 Silverlight 是否可能成为他们需要 RIA 前端的应用程序的解决方案。

客户端有一个相当大的基于 .Net 的应用程序,其中构建了一个 UI 层,该层在很大程度上依赖于从后端(将是服务器端)创建和操作特定(个人)类和对象。

我理解的一般过程的摘要:可以传递包含简单数据类型的简单对象,或更复杂的 .Net 类型对象。基本上任何东西都可以在序列化后被客户端和服务器端理解。

但是我可以传递的对象的复杂性有什么限制?或者换种说法,silverlight 和 WCF 是否能够支持传递可能包含对其他类/对象和变量等的引用的个性化对象?

附加信息(以防万一): 我不允许直接访问他们的后端代码,但根据我获得的信息,我可以肯定地说他们的类在类中大量使用继承和函数/方法的重载。

【问题讨论】:

    标签: wcf silverlight


    【解决方案1】:

    据我所知,Silverlight 并没有什么特别之处。不过有一些事情要记住。

    • WCF 序列化不喜欢循环引用。
    • 所有类型都需要在合同中指定。所以要小心继承等。

    一般来说,使用 DTO(数据传输对象)而不暴露您的业务对象是可行的方法。

    【讨论】:

    • 就像我说的我无权访问他们的后端代码,但我可以安全地假设他们确实实现了循环引用、继承和其他复杂的场景。这确实令人担忧。我会看看DTO的。谢谢你的信息!
    【解决方案2】:

    比喻是一种消息传递,而不是传递对象。正如莫里斯所说,DTO。

    您可能会变得非常复杂,但每个对象都需要定义其契约。

    【讨论】:

    • 就像我对莫里斯所说的那样,我将开始研究 DTO。关于继承的假设是,父类也将定义合同?如果确实如此,那么在实际应用 RIA 接口作为解决方案时会增加更多的复杂性。感谢您的回复和信息。
    猜你喜欢
    • 2011-01-04
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    相关资源
    最近更新 更多