在调试旧版Silverlight应用程序的问题时,我将问题缩小为特定的WCF服务调用,看起来像这样:
_serviceClient.UpdateFooAsync(fooDto);
此代码多年来未曾更改,并且在很大程度上已按预期工作。但是,对于一个特定的实体,该呼叫会静默失败。异步调用照常发生,但是没有发生相应的HTTP请求,并且永远不会调用在事件完成时触发的处理程序(错误或其他方式)。
以下是一些其他详细信息:
System.ServiceModel.ClientBase<T>
继承的自动生成的客户端。BasicHttpBinding
。我尝试将所有配额和限制都增加到最大值,但这没有帮助。因为此问题仅在一个特定实体的情况下才会发生,所以我只能假定该实体的某些方面应受指责,但无论如何我都无法发现。
必须在.NET Framework和WCF服务内部的服务器功能上启用Http激活选项。在某些更新过程中可能会禁用此选项。