问题标签 [faultexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
393 浏览

wcf - wsHttpBinding,从自定义 UserNamePasswordValidator 捕获 FaultException

我有一个带有 wsHttpBinding 的 WCF 服务。一切正常,但是我在从我的自定义身份验证器发送的客户端上捕获错误时遇到了问题。
我使用来自 msdn 的自定义身份验证器代码:
https ://msdn.microsoft.com/en-us/library/aa702565(v=vs.110).aspx

这条评论说我们向客户端抛出了一个信息错误,但我无法在客户端捕捉到它:

在调试时我可以看到,抛出了一个错误,但我的客户捕获代码不起作用。我的通讯通道故障,但没有故障异常。然后我抓住了一个 .NET ex,说我正在尝试使用有故障的代理。
当我从我的任何服务方法中抛出错误时,一切都很好。我可以在我的客户端上捕获它们。

是否真的可以捕获从 Authenticator 发送的故障。当身份验证失败时,向客户端传递信息性消息的最佳方式是什么?

0 投票
1 回答
516 浏览

c# - 为什么我的 WCF FaultException 未处理?

我有一项基于以下合同(节录)的服务:

实施的密切相关(恕我直言)部分是:

该服务目前托管在一个小型控制台应用程序中:

最后,客户:

SchedulerServiceClient添加服务引用时生成的代理在哪里。到目前为止,我已经成功地将 WCF 托管在实时 Windows 服务中并测试了非异常功能。在我添加异常处理之前一切都很好。我知道这是一个复杂的场景,但我见过的大多数示例都表明FaultException至少会被Exception客户端中的通用处理程序捕获。我的调试器让我猜想这个异常甚至没有进入代理,并且它在 MVC 代码中仍未处理。当我点击“继续”足够多时,我最终会出现一个屏幕,告诉我堆栈只包含外部代码。这是该外部代码的堆栈跟踪:

这让我觉得我async在 MCV 服务中的使用可能是我扮演了一个角色,但也许它只是一个无辜的中间人。请帮助我尝试确定为什么异常甚至没有传播到客户端。

0 投票
0 回答
80 浏览

.net - 在 WPF 客户端中忽略 WCF 异常

我有一个托管在 Windows 服务中的 WCF 服务库。我花了一整天的时间测试了许多场景并取得了很大的成功。但是,就像现在的应用程序一样,我遇到了未捕获异常的问题, my FaultException<ExceptionFault>,只是被 WCF 服务记录,然后消失了。ExceptionFault是一个简单的DataContract模型,只有三个字符串值和描述异常的数据。

WCF 服务使用计时器每 30 秒调用一次以下方法:

客户端是 WPF 应用程序中的视图模型。它有一个命令可以通过调用 WCF 代理的方法来覆盖计时器并强制Process执行。ProcessAsync当我使用它时,客户端会捕获FaultException<ExceptionFault>并正确显示对话。当服务本身执行该Process方法时,定时器的Elapsed事件之一,同样的异常被抛出(每三次),但虽然这个异常没有在任何地方处理,服务只是忽略它并在下次定时器触发时再次处理。

我知道定时器事件中的异常被吞没了,但在这种情况下,我根本不知道还能做什么。我在客户端处理四种未处理异常的情况,如果我将计时器移动到 Windows 服务中,并在那里捕获未处理的异常,它发生在哪里,我如何将它传达回 WPF 客户端?

0 投票
1 回答
336 浏览

wcf - WCF 故障异常没有被客户端捕获,而是被捕获为服务错误

我为 FaultException 配置了服务,但在客户端我没有捕获到异常

相反,它总是陷入

我正在使用 selfhost 和 channelfactory。

我的服务:

我也[DataContract]MyServiceFault. 我想知道我是否错过了任何配置。

0 投票
1 回答
86 浏览

c# - Soap 故障异常“预定义的类型不存在”

我目前正在处理一项任务,我需要连接到一个肥皂服务并调用一个方法。但我总是得到错误:

“预定义类型不存在。请手动选择类型”

这是soap xml部分的样子:

这是我的代码:

或者我是否有可能在通过 ssl 加密之前捕获发送到服务器的命令?

0 投票
1 回答
1797 浏览

c# - FaultException`1' 的问题 - 无法在列集中指定子属性以进行检索

我正在开发用于合并 Dynamics CRM 中重复帐户的 C# 应用程序。在其中,我检查了作为合并一部分的每个字段。它一直在正确执行,但后来我遇到了一个没有填充目标记录查找的实例。

支票是这样写的:

我可以看到 subOrdinateAccount 的属性正在正确返回,并且 if 没有返回错误。但是,稍后在代码中会引发异常。这是行:

这是一个例外:

Microsoft.Xrm.Sdk.dll 中出现“System.ServiceModel.FaultException`1”类型的未处理异常附加信息:无法在列集中为检索指定子属性。属性:new_membershipname

我注意到的一件事是它在查找字段的末尾添加了“名称”。

这是因为它正在寻找不同的文本值,而不是返回的对象值吗?

这是完整的代码:

}

0 投票
1 回答
407 浏览

c# - IP 端点 0.0.0.0:9000 上的通信对象和侦听器的 WCF 异常

我在下面提到的两件事上得到 WCFexception

通信对象 System.ServiceModel.ServiceHost 无法用于通信,因为它处于故障状态。

IP 端点 0.0.0.0:9000 上已经有一个侦听器。确保您没有尝试在应用程序中多次使用此端点,并且没有其他应用程序在此端点上侦听。

如果我们尝试浏览,我们会收到无法显示页面的消息。如果我们重新启动服务器/服务,它将开始工作。我是 WCF 的新手。请帮助我解决问题。

提前致谢。

0 投票
1 回答
320 浏览

c# - 未使用 WCF 类型的 FaultException toString()?

首先,我是一名学生,一般来说是 WCF 和 C# 的新手。我试图演示在发生键入的 WCF FaultException 时返回给客户端的响应。我有一个像这样定义的类型化异常:

而且我有一个服务,它FaultException<CustomFault>在使用此行调用时简单地抛出一个:

我有一个测试客户端,它调用服务方法,捕获异常并在消息框中打印异常:

我的问题是结果不包括CustomFault细节(即causeadditionalInfo1additionalInfo2字段),尽管客户端成功接收到它们(调试时可见)。我不知道为什么,因为我已经覆盖ToString打印这些字段。我知道我可以单独访问这些字段,但我想知道为什么这种方法不起作用。

我真的很感谢任何人可以提供的任何帮助。

编辑:结果只包含这个:

编辑2:服务方法定义:

0 投票
1 回答
342 浏览

c# - 发布 WCF 后出现 FaultException 错误

我已经为我的桌面应用程序之一开发了 WCF 服务,并使用 DB 托管到 Azure 服务器中。

我刚刚在我的本地桌面应用程序上连接了 WCF 服务 URL。

一旦我从应用程序调用登录方法。那么没有问题。

一旦我调用了我的第二种方法,我总是得到 FaultException 错误

错误是这样的,请参阅内部异常以了解详细错误。但是一旦我进去,那么内部异常就是空的。

我也把<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />我的 wcf web.config

一旦我将本地 WCF 与 live db 与我的桌面应用程序连接起来,那么一切正常。

一旦我将 Live WCF 与 live db 与我的桌面应用程序连接起来,则无法插入和更新数据。

我的第二种方法有这个代码。

从桌面应用程序调用上述方法:

我已经写了 catch 部分然后我也看不到实际的错误。

0 投票
1 回答
307 浏览

c# - WPF 应用程序中的 FaultException 仍然在 WCF 服务中引发错误

我试图在我的 WCF 服务中创建一个FaultException,以便我可以在我的 WPF 应用程序中显示错误。我遇到的问题是 FaultException 仍然显示/崩溃到我的服务,并且不想在我的 WPF 应用程序中显示错误(在消息框中)。

这是我的编码:

服务

客户端应用程序

我可能做错了什么?