- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在了解 WCF 服务上下文中的 FaultException 和 CLR 异常,但有些内容尚不清楚。在“Learning WCF”一书中,它说当服务抛出一个正常的 CLR 异常时,它会被服务模型捕获,服务模型从中构造一个 SOAP 消息,将其发送回客户端,然后在客户端抛出异常再次。 channel 出现故障。
所以我构建了一个抛出 NullReferenceException 的服务。客户端调用该服务,捕获异常并打印 CommunicationState。
try
{
x = Proxy.Call(); // throws NullReferenceException at the service
}
catch (Exception ex) // or CommunicationException is the same
{
MessageBox.Show("" + Proxy.InnerChannel.State);
}
但是状态成员保持打开状态,我可以永远调用该服务....
这里正确的是什么?客户端是否应该在服务抛出 CLR 异常时进入故障状态并在服务抛出 FaultException 时保持打开状态?还是一直开着?
最佳答案
我找不到官方确认,但这是我认为发生的事情:
您使用的 BasicHttpBinding
不会保持连接打开,但会在每次请求时创建一个新连接。如果切换到 NetTcpBinding
,您将看到预期的行为(刚刚在本地测试过)
关于c# - FaultException 与 WCF 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34415967/
我已经阅读了关于此的所有内容,但也许我遗漏了一些东西(好吧,我肯定遗漏了一些东西,否则它已经可以工作了) 我在我的服务器业务层中抛出了一些异常错误: public class RfcException
好的,我知道我在这里遗漏了一些东西。我有以下操作合约: public double DivideByZero(int x, int y) { if (y =
什么更有效?抛出异常或抛出错误……我认为有两种情况: 发生异常并被捕获,是否抛出现有的 Exception或新建 FaultException然后扔那个? 您自己的逻辑(例如用户名不能为空)需要将错误
我有一个 WCF 服务,如果出现问题,它会抛出一个通用的 FaultException。 我不知道为什么,有时客户端会捕获非泛型 FaultException 而不是泛型异常。 有谁知道,问题是什么?
我们目前有一种在测试页面中调用网络服务的机制。但是,我正在尝试查看 WCF 服务的更好做法并使用 FaultException。 所以有我们服务抛出FaultException的情况,我想将该故障序列
我发布了一个question关于使用消息与故障异常在服务之间传达业务规则。 我的印象是通过网络抛出这个异常会带来开销,但考虑到它只是一条被序列化和反序列化的消息,它们实际上是一样的。 但这让我开始考虑
我有一个关于如何将自定义异常作为FaultException 发送的问题。当我使用像 ArgumentException 这样的系统异常时它可以工作,但是如果我将其更改为自定义异常“TestExcep
我有一个非常简单的 3 层项目。有一个与数据存储交互的 DAL(数据访问层)WCF 服务; BLL(业务逻辑层)WCF 服务作为 DAL 服务和客户端 UI 以及 Windows 窗体客户端层之间的中
我正在尝试在 WCF 服务中实现异常处理。我希望将此异常抛出给客户端,以便记录和处理它。 我不知道我写的代码是对还是错。这只会让我“faultexception 未被用户代码处理”我应该如何解决才能处
对于以下异常,没有在异常窗口中指定原因(->查看详细信息): System.ServiceModel.FaultException The creator of this fault did not
在我的 WCF 服务上,我有几个自定义故障类型。一个名为 BaseFault 的抽象类型及其两个实现,分别称为 TypeOneFault 和 TypeTwoFault 我是这样在服务端抛出异常的 pu
单层应用程序可以通过以下方式区分异常: Exception ex; if (ex is System.DirectoryServices.AccountManagement.PasswordExcep
我正在使用 C# 从 .NET 4.5 调用 SOAP Web 服务,但我不明白如何捕捉未类型化 FaultException 的详细信息. 如果 Web 服务遇到错误,我会收到如下消息:
我在调用服务 API 时捕获了 FaultException,例如 catch(FaultException e) { // How do I get the MyCustomEx objec
我有一些预定义的 WCF 服务 FaultContract属性。当FaultException抛出异常,它们会发送 StackTrace、Source 和其他可能未保存的信息。 是否可以只返回: 详细
我为每个帖子都提供了一个pingback列表。看起来像这样: def send_trackback #do stuff begin Pingback::Client.new.ping(
我正在了解 WCF 服务上下文中的 FaultException 和 CLR 异常,但有些内容尚不清楚。在“Learning WCF”一书中,它说当服务抛出一个正常的 CLR 异常时,它会被服务模型捕
在更新我的 WCF 客户端的服务引用时(只需在 Visual Studio 2008 中单击“更新服务引用”),出现以下错误:System.ServiceModel.FaultException: T
我正在尝试在带有 .net 4.5 的 VS 2012 中使用带有 Telerik OpenAccess 的 WCF Plain 服务。 我尝试了 telerik 开发人员手册并创建了服务和客户端。
我只是在检查 WCF FaultContract。根据它的定义,它用于向客户端发送异常详细信息。但是我们可以只使用 FaultException 来做到这一点。那么为什么我们需要 FaultContr
我是一名优秀的程序员,十分优秀!