Wcf 从方法调用返回Null

Wcf 从方法调用返回Null,wcf,Wcf,好的,让我首先陈述一些事实: 这是一个一直在工作的web服务。有几个.svc端点,所有这些端点都有效。现在,虽然有一个不是,这意味着当我通过另一个项目使用服务时,我可以对它进行方法调用,但结果是我不断返回null 此服务中持续发回null的方法的代码没有更改 我确实弄乱了端点配置,将它指向了两个不同的服务器。我也尝试了它指向的原始服务器。无论我如何更新服务,但即使我将其设置回旧的端点路径,在测试对该服务的调用时,我仍然从单元测试中返回null。单元测试正在使用服务的项目中运行 我已经检查了服务本

好的,让我首先陈述一些事实:

  • 这是一个一直在工作的web服务。有几个.svc端点,所有这些端点都有效。现在,虽然有一个不是,这意味着当我通过另一个项目使用服务时,我可以对它进行方法调用,但结果是我不断返回null
  • 此服务中持续发回null的方法的代码没有更改
  • 我确实弄乱了端点配置,将它指向了两个不同的服务器。我也尝试了它指向的原始服务器。无论我如何更新服务,但即使我将其设置回旧的端点路径,在测试对该服务的调用时,我仍然从单元测试中返回null。单元测试正在使用服务的项目中运行
  • 我已经检查了服务本身的app.config和web.config。就我所知,一切看起来都很好……但我对WCF还是新手

  • 我知道这是相当普遍的,但我正在寻找一些指导,从哪里开始寻找,看看为什么我突然得到空回来。这些方法背后的存储过程没有更改。同样,这些方法调用在过去一周的某个时间点起作用,但现在不起作用。

    这是非常普遍的,但有一些事情需要尝试

  • 请尝试更新服务引用,以确保您拥有最新版本的代理对象
  • 您是否尝试过在服务内部进行调试,并在客户端获得预期的返回值之前查看该服务是否返回了预期的返回值
  • 您是捕获服务中的所有异常,然后返回结果对象,还是让异常失效?如果让它们失效,WCF通道可能会出现故障
  • 尝试使用Fiddler并查看您认为应该调用的端点是否为,以及响应对象是否确实为null
  • 在返回到客户机之前,使用一种老派的技巧将结果写入服务器上的文件。这将帮助您了解这是否是服务器到客户端的序列化问题。您甚至可能需要在服务接到呼叫时立即写入文件,以确保您的客户端正在连接

  • 您真正需要做的是在服务内部进行调试并逐步完成那里的代码。绝对确保存储过程返回您期望的内容,然后没有引入环境错误。

    当您遇到WCF的奇怪问题时,首先要做的是配置WCF跟踪。这是一个非常强大的工具。您甚至可以看到消息的内容


    这是关于这方面的官方文档:

    #2我有一些单元测试,它们已经存在于实际的服务解决方案中,但现在失败了。早些时候,他们没有失败。他们在对该服务的方法调用进行单元测试时返回null,失败了。#3我是该团队的新成员,但他们会返回一个自定义状态输出对象以返回调用状态…#4好主意,让我试试。我还被告知要尝试WCF测试客户端来做类似的事情…并测试调用?是的,WCF测试客户端也会工作。这将去掉您的客户机变量。我想知道客户机是否一开始就无法连接到服务器。如何设置端点地址?您是在应用程序XML中引用name变量,还是通过编程设置端点地址?同样,采用老式方法,在返回到客户端之前,将结果写入服务器上的文件中。这肯定会告诉你这是一个服务器到客户端的序列化问题还是其他什么问题。是的,我在前一段时间做过这件事,但对这个问题没有多大帮助。