问题标签 [wcf-faults]
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.
wcf - 为什么 WCF 在使用安全性时会导致通道出错?
背景:
我注意到在我的 WCF 服务中,当我抛出一个异常(一个普通的旧异常)时,客户端通道进入故障状态并且必须中止并重新创建,然后我才能在该通道上进行另一个调用。没关系。这就是它的意图。我得到它。因此,如果需要再次调用,我只需调用 abort() 并重新创建。
但是,仅当我使用启用了安全性的绑定时才会发生客户端通道故障。当我使用 basicHttpBinding 时,我可以在客户端上得到一个异常,然后继续使用 ServiceClient 对象而不告诉我它处于“故障状态”。
此外,当我关闭 wsHttpBinding 或 netTcpBinding 的安全性时,我可以在出现异常后重新使用通道。
问题:
绑定的安全性是什么导致通道出错,因此无法使用?
c# - 单元测试 > 检测到无法访问的代码警告
问题
编译器在返回行给我一个警告,并带有一条消息:
检测到无法访问的代码
问题
如何重构单元测试,以免收到编译器警告?也欢迎任何其他反馈。
代码
我有一个Bar
包装 WCF 调用的类。如果在调用中的某个地方发生异常,则包装器将记录错误并引发 WCF 错误。这是课程:
我尝试对这个类进行单元测试,以确保我得到正确细节的错误。这是我的单元测试方法
c# - 如何在 WCF 中返回有关异常/故障的标准消息
在我们的应用程序中,所有数据合约都有一个父级 -OperationResponse
它OperationResponse
包含枚举(OperationState
属性中的枚举类型Result
),它代表调用结果(Ok、InvalidParams、Error)。
如何在异常后覆盖 WCF 行为 - 不返回故障状态,但返回经典消息 OperationResponse 在我的情况下,但属性 Result = OperationState.Error?
编辑:我想,我走对了,我需要实现 IErrorHandler,但现在我迷路了,因为我不知道如何将错误消息设置为传出的错误消息......
Edit2:似乎没有解决方案是牢不可破的问题......我只发现没有像这个线程这样的解决方案的相同问题...... :(
c# - 服务仅在一种环境中处于故障状态异常
我正在使用我在测试的开发环境之一中使用的各种服务的相同 DLL。我确保配置是相同的,除了端点地址,在每种情况下它都是服务器名。
我在开发中没有任何问题。但是,在测试中,它总是说“服务处于故障状态”
我试图在 WCF 测试客户端中指向该 URL,我什至无法到达断点命中,因为它说服务处于故障状态。所以没有骰子。
我重新启动服务,回收应用程序池创建新的并指向服务。没运气
然后我在网络上进行了研究,每篇文章都说这可能是因为 .net 异常。我预计不会仅在一个环境中出现此异常(不令人信服),而 Dev 工作正常,并且来自 Visual Studio 和 localhost iI 的本地工作正常。
我同意我没有在代理级别捕获异常,也没有错误或任何日志记录。它只是一个简单的包装器,但 WCF。考虑到时间线,我什至不能添加尝试捕获或错误,因为我们是基线。
调试的任何想法可能是什么问题?
wcf - 如何自定义 WCF FaultException 的结构
我想使用 WCF在我的操作中抛出错误。格式如下图。但是,我无法通过使用 WCF 提供的 FaultException 来实现这一点。FaultException XML 结构不是我想要的。那我该怎么办?
wcf - 带有错误状态代码的 WCFFaultException 始终以 202 被接受的形式返回给客户端
在我们的应用程序中,如果需要,我们会抛出错误异常,如下所示:
抛出新的 WebFaultException(新的 RequestFaultInfo(errorMessage),System.Net.HttpStatusCode.BadRequest);
RequestFaultInfo 类如下:
但是,客户端总是得到状态码 202(已接受)。在这种情况下,客户端是同一服务器上的 Postman。
有没有人知道为什么会这样?