请参阅以下代码:
.blurb_title {
align-items: center;
display: flex;
vertical-align: middle;
}
我得到的编译时错误是:"无法隐式转换类型' app.ServiceReference1.Person'到' WcfService1.Person'。我理解这个错误的原因。服务器上有一个Person对象,客户端上有一个person对象,它们位于不同的名称空间中。
你如何解决这个问题。我不能要求WCF服务器开发人员向我发送Person类。
我正在为WCF Web服务寻找类似的东西:JSON not parsed into custom object
我不明白为什么框架会破坏WCF Web服务返回的XML。 WCF的重点在于它可以互操作。
答案 0 :(得分:1)
如果所有对象属性的名称相同,则可以使用AutoMapper将值复制到本地对象,或者只是手动执行:
public Form1()
{
ServiceReference1.Service1Client s1 = new ServiceReference1.Service1Client();
var dto = s1.GetPerson();
var p1 = new Person()
{
x = dto.x,
y = dto.y,
z = dto.z
};
}
答案 1 :(得分:0)
如果服务是内部提供的,那么提供商也应该为您提供数据合同,至少在dll中。
否则,您可以通过Visual studio Service Referance Generator工具创建服务参考,它将为您创建正确的数据合同。
如果您正在编写自己的服务,请确保您已创建具有必要属性的dto对象。
[DataContract]
public class Person
{
[DataMember]
public int SampleField { get; set; }
}