gpt4 book ai didi

c# - [DataContract] 类中的代码

转载 作者:行者123 更新时间:2023-11-30 21:10:51 25 4
gpt4 key购买 nike

我一直在阅读有关在我的 Silverlight 项目中有一个 [DataContract] 指定类的信息。我知道它们被序列化并传递给客户端以传递信息。

除此之外,您似乎可以在某些情况下向这些类添加代码。现在我正在阅读的书给出了一个 Silverlight 应用程序和托管 Web 项目的示例。这不像我的项目,因为我有一个单独的 WCF 服务,它通过 IIS 托管。并非都在同一个解决方案中。我希望在我的应用程序和此 WCF 服务之间有一个具有共享代码的 Datacontact 类。

我已经设置了 [DataConract] 类,它可以在 WCF 服务和应用程序之间正常传递。我只是想知道这样做是否会阻止我在 [DataContract] 类中添加代码,而不是将所有内容都放在一个解决方案中。

好的,感谢阅读。

最佳答案

在大多数情况下,您希望避免数据协定类中的任何逻辑。通过引用 Web 服务创建的客户端无法生成您可能在服务器端使用的任何自定义方法。

当然,这并不禁止您将逻辑放入这些类中。只是它在客户端不可用。

相反,您可以创建将在客户端和服务器端使用的共享库,并将负责数据契约操作/业务逻辑的类放在那里。如果你遵循这条路线,你可能想看看 Portable Class Library - 它允许您创建可在服务器端和 Silverlight 客户端使用的程序集。

另一种选择是将数据协定类从服务器项目链接到 Silverlight 客户端项目。您可以使用 Add -> Existing Item -> Add As Link 选项从 Visual Studio 执行此操作。这也将允许您在服务器和客户端之间共享代码,但是有时它可能会变得非常困惑(考虑到 Silverlight 的限制)。

关于c# - [DataContract] 类中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8260773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com