WCF契约知道域

本文关键字:契约 WCF | 更新日期: 2023-09-27 18:06:36

我有四个项目:
1. 定义我的项目的业务登录的业务项目。
2. 服务契约项目,定义了契约接口和dto。
3.定义服务实现的服务实现项目。
4. 使用该服务的带有svc文件的Web应用程序。

理论上

:
A.合同项目不涉及任何人。
B.服务实现应引用合同项目和领域。
C. web应用程序应该只引用合同和实施项目。

我有这样的服务:

AccoundData GetAccount(AccountTypeEnum type);

问题是AccountTypeEnum在域中定义,因此合约和web应用程序应该有对域的引用。但这正是我们想要阻止的。那么我怎样才能避免"知道"这个领域的契约呢?

WCF契约知道域

在这种情况下,您的合同必须使用不同的enum/DTO,并且您的服务实现必须在合同enum和域enum之间进行转换。