如何通过WCF公开对象?

mwj*_*son 3 .net silverlight wcf

我的项目分为Silverlight应用程序的典型3层结构.那是:

  • 基础层,它是一个包含所有业务对象,逻辑,数据访问等的类库.
  • 中间层,是与之通信的WCF服务;
  • 我的Silverlight前端

我遇到的问题是,目前通过WCF暴露给我的UI的BO只包含私有变量,而不包含任何属性或方法.

是否有一种简单的方法来公开整个对象(通过属性或配置)?

什么是最好的解决方案?

Six*_*aez 8

您似乎期望WCF服务中使用的内部类(已标记为DataContracts)作为.NET对象导出到客户端代码(Silverlight UI).WCF不支持此功能.标记为DataContract的类只是一个没有方法的数据结构.如果你需要一个很好的未来WCF资源,请尝试学习WCF:Michele Bustamente的动手指南.

@John Fisher确实勾画出一种向客户端和服务公开.NET对象的方法,但这可能不是Silverlight的选项.这是一篇博客文章,解释了如何从Silverlight访问基于REST的服务.