【问题标题】:Getting correct response but data not getting displayed in UI获得正确响应但数据未在 UI 中显示
【发布时间】:2016-08-31 21:29:34
【问题描述】:

我已经开发了一个服务并且它工作正常,与数据库中的数据相比,响应看起来完全一样,但是当服务被使用时,UI 被破坏,我收到错误 “从数据库中检索数据时发生错误,可见已更改。对象引用未设置为对象的实例。” 但在提琴手中,我找到了正确的响应。我检查了数据合同的顺序,每件事都是一样的。有人可以建议可能是什么问题吗?

【问题讨论】:

  • 贴出客户端的代码。
  • 我无法访问 UI,只能访问服务..
  • 嗯,这使得故障排除变得困难。基本上“对象引用未设置为对象的实例。”表示存在未实例化的对象或属性(它为 null),您很可能正尝试访问其属性或方法之一。
  • 如果服务的输出不错,那么很可能是消费者(UI)有问题。此外,请仔细检查服务的输出。您是否缺少结果中的任何属性?例如,该类可能有 20 个属性,但您的服务返回 19 个属性的值。
  • 嗨 Feryal,当我检查响应时,我注意到该操作的响应中缺少“DataContracts”命名空间,并且所有其他操作的响应都包含它,我该如何解决这个问题?

标签: asp.net winforms web-services wcf soap


【解决方案1】:

在你的服务代码中,你应该有这样的声明:

using System.Runtime.Serialization;

你的服务返回的数据应该这样定义:

[DataContract]
public class YourOutPutClassName
{
    [DataMember]
    public string property1 {get; set;}
    [DataMember]
    public int property2 { get; set; }
}

【讨论】:

  • 我无法将代码放在评论框中,所以我将其添加到答案中。这是你要找的吗?
  • 是的,它与此类似,在 UI 中他们正在添加命名空间,并且在 dataContract 中我还添加了命名空间,当我在我的 DataContract 中删除命名空间时它工作正常。
猜你喜欢
  • 2018-11-01
  • 2012-02-25
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 2012-06-26
相关资源
最近更新 更多