我是Windows Communication Foundation的新手,我正在开发一个向前端提供数据的系统。
系统的WCF部分包含数百个检索特定过滤数据集的查询。这些数据集通过一百多个不同的类发送回客户端。几乎看起来每个服务操作都有一个单独的类。
代码的快照看起来像
[OperationContract]
IList<A> LoadAdata();
[OperationContract]
IList<B> LoadBdata();
[OperationContract]
IList<C> LoadCDdata();
.
.
此外,花费大量时间和代码从数据集转换为IList&lt;&gt;。对象。
这是WCF的工作方式吗?
有没有更好的方法来构建这项服务?
答案 0 :(得分:0)
您描述的典型结构不是WCF工作的绝对必要条件。您的公司可以采用标准方式处理服务和数据合同。例如:ServiceResponse ServiceOperation(ServiceRequest request);是一种常见的模式。这允许灵活地维护服务操作的输入和输出参数,而不改变操作的外部可见签名。这似乎有点开销,但可以达到目的。
操作是标准的CRUD操作,并且看起来都一样,并且后面没有任何特定的业务逻辑,请查看WCF Data Services,它将您的数据模型公开为标准化的OData接口。客户端能够创建自定义查询并防止服务必须公开大量的接口操作。在这种情况下,这一切都是为您处理的。