[英]Usage of custom data types on client and server wcf service
我有一个自定义数据类型我放在类Library 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();
}
}
但是这里出现了问题,这个实现期望使用它从服务引用中获取的版本的区域
WcfClientLibrary.SalesService.District
代替
SharedTypes.District
他们是一样的,但VS不知道
所以我得到的错误是接口没有正确实现,因为我有2种不同类型的District类。
如何获取Service引用以使用SharedTypes.District? 或者是我实现它的方式是什么?
右键单击客户端项目中的 服务引用 ,然后选中“重用参考程序集中的类型”。
确保已将SharedTypes.District
添加到客户端服务引用项目中。
在客户端添加WCF引用时。 单击高级选项。 您可以指定一个设置,以指示它重用指定程序集中的类型。 您将能够指定程序集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.