【问题标题】:Internal fault in MS auto-generated method of WCFWCF 的 MS 自动生成方法中的内部故障
【发布时间】:2012-03-12 22:27:25
【问题描述】:

我对 WCF 有疑问。我的测试代码很简单。

我从 silverlight 应用程序调用服务器上的服务层方法并将结果打印到文本框中。

这一切都被try-catch包围了。

当我的服务层方法只返回一个不断定义的字符串时,似乎没有问题 - 但是一旦它调用更复杂的方法,它就会失败。

调试的时候连复杂模型的方法都达不到;在此之前,它在一些来自 microsoft 的自动生成的代码中失败了:

/WuSIQ.jpg

由于错误消息“NotFound”并不是最有用或最具体的,您可以想象我在谷歌上搜索提示时遇到的麻烦。

我想也许自动生成的代码只能发送简单的数据,所以我创建了一个临时字符串并返回,但这没有帮助。

我已经:客户端访问策略、添加的服务引用、删除 ServiceReferences.ClientConfig 和 ServiceLayer.svc.cs 中的重复引用。

我正在通过从主窗口运行进行调试,并且我的断点被拾取。

有人吗?

【问题讨论】:

  • 好的,所以我发现我有重叠的问题,即我的服务器端“模型”代码没有被调试 - 除了 NotFound 错误,这导致了混乱。依靠这篇文章我解决了这个孤立的问题:stackoverflow.com/questions/732674/…
  • 问题是在 WCF 代码中发生 HTTP 超时异常。仅当我在服务器上调用繁重的方法(动态编译程序集并保存它)时才触发它。在更快的计算机上运行使其不那么频繁,令人困惑!我将不得不更适当地设置时间限制。

标签: wcf communicationexception


【解决方案1】:

我在服务端方法中出现了一些错误,在调试修复后很快就发现了。

我修复了这个问题,正如我在 cmets 中所说,将项目设置为具有“多个启动项目”。

每当我在更新 WCF 服务方法时遇到问题时,其中一种通常都能解决:

1 删除所有 bin 和 obj 文件夹(特别是选择重新构建可能会这样做)。

2 服务层不会成功自动更新(但会工作!),除非:

[ServiceContract(Namespace = "")]

... 设置为:

[ServiceContract(Namespace = "YourServiceLayerName")]

3 右键单击​​服务引用并选择“更新...”。

有时它会再次停止调试,但强制完全重新构建会使其恢复正常。

我希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多