我有一个自定义数据类型,我放入了类库 SharedTypes
namespace SharedTypes
{
public class District
{
public long Id { get; set; }
public string Name { get; set; }
}
}
然后我有一个带有此服务的 WCF 服务器
using System.ServiceModel;
using SharedTypes;
namespace WCF.WCFInterfaces
{
[ServiceContract]
public interface IWcfService
{
[OperationContract]
District GetDistrict(long id);
[OperationContract]
void CreateDistrict(District district);
[OperationContract]
List<District> GetDistricts();
}
}
在客户端我有一个接口(所以我注入了实现)
using SharedTypes;
namespace WcfInterfaces
{
public interface IDistrictManager
{
void CreateDistrict(District district);
District GetDistrict(long id);
List<District> GetDistricts();
}
}
我终于有了客户应该使用的实现
public class DistrictManager : IDistrictManager
{
private readonly WcfServiceClient _salesService;
public DistrictManager()
{
_salesService = new WcfServiceClient();
}
public void CreateDistrict(District district)
{
_salesService.CreateDistrictAsync(district);
}
public District GetDistrict(long id)
{
return _salesService.GetDistrict(id);
}
public List<District> GetDistricts()
{
var list = _salesService.GetDistricts();
return list.ToList();
}
}
但是这里出现了问题,这个实现期望使用它从服务引用中获得的 District 版本
WcfClientLibrary.SalesService.District
代替
SharedTypes.District
它们是相同的,但 VS 不知道
因此,我收到接口未正确实现的错误,因为我有 2 种不同类型的 District 类。
如何获得服务参考以使用 SharedTypes.District 代替?还是我实现它的方式很遥远?