在WCF服务之间共享DTO对象

Owe*_*wen 5 wcf dto

我甚至在问之前觉得这是一个愚蠢的问题,但我现在的大脑工作得不好.我有两个WCF服务"CountryService"和"FloristService".

现在CountryService有以下方法:

IList<CountryDTO> GetAllCountries();
Run Code Online (Sandbox Code Playgroud)

另外,FloristService有一个方法:

bool AddFlorist(FloristDTO florist);
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都很好,但问题是FloristDTO引用了CountryDTO即

    public  string Address1 { get; set; }
    public  string Address2 { get; set; }
    public  string Address3 { get; set; }
    public  string City { get; set; }
    public  string Postcode { get; set; }
    public  CountryDTO Country { get; set; }
    public  string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

这很好,但是如果我使用服务代理生成util与Visual Stuidos(即添加引用>添加服务引用),那么我得到两个版本的CountryDTO被创建ieFloristService.CountryDTO和CountryService.CountryDTO.

现在我可以想出几种方法来克服这个问题,但是他们似乎没有.我想知道这个"正确"的方法是什么,我能用代理生成工具做些什么来让它共享常见的DTO吗?

干杯,克里斯