1

我在我们的 Web 服务器上运行了一个 WCF 项目,我们的移动设备使用它从我们的数据库中提取数据。

private void GetData(string serialNum) {
  try {
    var service = new AcpServiceClient();
    service.GetData(serialNum);
  } catch (CFFaultException err) {
    MessageBox.Show(err.FaultMessage, "Web Service Error");
  }
}

我一打电话GetData,就会看到一条丑陋的 XML 消息,如下所示:

CEZoom0

我看到了隐藏在 XML 文本中的错误。

过程“sp1_GetCoilFromTable”需要未提供的参数“@serial_Number”。

为什么所有这些 XML 都被转储到FaultMessage?

我通过搜索 CFFaultException 找到的所有帮助似乎都会拉出死链接或其他人使用死链接回答问题的页面。

我想要的是一种简洁的方式来获取主要错误消息,而无需编写例程来解析 XML。

4

1 回答 1

3

因为 WCF 正在传回带有异常数据的 SOAP 信封。它试图变得更好,并为您提供您可能想知道的一切,因为 WCF 的开发考虑到了巨大的数据管道,而不是节俭,只给您您需要的东西。

您也许可以更改服务器端的错误格式。这是一些 MSDN 信息: http: //msdn.microsoft.com/en-us/library/vstudio/ee513227 (v=vs.100).aspx

于 2013-09-04T17:27:18.960 回答