问题标签 [ierrorhandler]
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 - Log4Net 和 WCF IErrorHandler - ServiceSecurityContext.Current.WindowsIdentity.Name 返回 NullReferenceException
我正在使用 WCF 服务并且我已经实现了 IErrorHandler。在HandleError方法中,我想检索调用者的用户名,以便为Log4Net设置ThreadContext属性(将用户名与 SQL Server 中的异常详细信息一起保存)
如果我避免尝试检索调用者的用户名,我的代码运行良好。
这是 HandleError 方法中返回NullReferenceException的代码行:
似乎在IErrorHandler的HandleError方法启动时,原来的调用者信息已经被处理掉了。
有谁知道如何在 IErrorHandler 的 HandlerError 方法中检索调用者的用户名?
谢谢你的帮助!
c# - 实现 WCF IErrorHandler 仅用于日志记录
可能是微不足道的问题.. 我想实现自己的错误处理程序来记录错误并监视正在发生的事情。在这一点上,我不想向客户提供我自己的错误。我希望它是透明的——就像默认的 WCF 行为一样。我应该如何实施ProvideFault
来实现这一目标?
c# - IErrorHandler 实现不处理异常
我有一个双工 WCF 服务,我正在尝试为其创建一个全局异常处理程序。
根据这篇博文,我已经为 IErrorHandler 实现创建了一个行为扩展
如果我在 ApplyDispatchBehavior 方法上设置断点,我可以看到我的处理程序被添加到通道调度程序 ErrorHandlers 的属性中,但如果我随后抛出异常,则不会调用 HandleError 或 ProvideFault 方法。
我的错误处理程序如下所示:
我的行为实现如下所示:
我的 App.config 看起来像这样:
.net - 当我得到序列化异常时访问 WCF 服务中的消息
在 WCF 服务中,我有自定义IErrorHandler
. 效果很好,我通过记录错误修复了很多东西。我得到的最后一个错误是序列化异常:
这告诉我消息没有正确地从客户那里传来。有什么办法可以让我看到它是什么消息?我可以从内部访问 HTTP 发布参数IErrorHandler
吗?
wcf - 使用 IErrorHandler 处理异常
我有几个关于 IErrorHandler 的问题。
1)如果我在我的服务方法中显式抛出异常,它会被实现接口的类型捕获吗?
2)如何在两个不同的服务之间共享类型?
asp.net - 需要在每个方法中没有特定代码的情况下引发异常以进行日志记录的方法的参数值
当随机方法内部发生异常而没有每个方法中的特定代码来写出值时,如何获取当前参数值?
我需要这个用于 ASP.NET MVC 和 WCF IErrorHandler 吗?
例如给出以下代码:
有没有办法让 WCF 或 MVC global.asax HttpApplication 的 Application_Error & Elmah 中的 IErrorHandler 获取 Request 对象和 someRandomString 的值,而无需专门捕获异常并为 N 个方法中的每一个编写自定义逻辑然后再次抛出?
也许这应该分为 2 个问题,一个针对 WCF,一个针对 ASP>NET MVC?请求层次结构似乎与我非常相似,所以我希望有一个统一的答案。
wcf - 如何为 WCF IErrorhandler 设置 web.config
无法使用正确的 web.config 将 IErrorHandler 集成到我的项目中
我有一个成功工作的 WCF,它被 .net 4 中的 webclients 使用,但是当尝试将 IErrorhandler 设置为全局错误记录器作为我所有服务方法的全部捕获时,事情很快就失败了 - 主要与 web.config 部分有关!请帮忙。
这三个服务分别是:IReport、IServiceCustomer、IServiceUser
在名为 MyErrorClass.cs 的单独类中实现 IErrorHandler,如下所示:
web.config 应该是什么样子,因为我已经从网上的各种教程和答案中尝试了一百万种组合,但没有让它工作!当我不涉及 IErrorHandler 时,这就是 web.config 的原始工作摘录的样子
请有人可以将更正后的 web.config 发送给这个 WCF 菜鸟,因为我一直在删除并重试,却无处可去(我为此浪费了很多天):(
c# - wcf rest ierrorhandler webfaultexception
我有一个 WCF 4 Rest 服务将由一个 java 客户端和一个 c# mvc3 客户端使用。响应内容需要以 json 格式返回。
我希望能够以一致的方式将任何异常/故障返回给客户端。我读到应该使用 WebFaultException 并且确实可以正常工作。
但是,我不想用 WebFaultExceptions 污染我的应用程序逻辑项目,因为它可能被非 Web 项目使用。
因此,我查看了在 WCF Rest 服务中实现 IErrorHandler 以捕获任何异常,然后对于特定的异常,即 ValidationException,将异常作为包装在 WebFaultException 中的错误返回。但是,这似乎不起作用,当我调用 form fiddler 时,我得到以下 Http 504 响应
[Fiddler] ReadResponse() 失败:服务器没有返回对此请求的响应。
我已将代码简化为最基本的内容,以显示我正在做的事情的本质。
我究竟做错了什么?
wcf - Ninject WCF 扩展添加错误处理程序
我正在尝试在我的 Web 服务上将 Ninject.Extensions.Wcf 用于 DI,但还想注入一个自定义 IErrorHandler。
据我所知,这应该在自定义 IServiceBehavior 的 ApplyDispatchBehavior 方法中完成,但我看不到任何方法可以覆盖 Ninject 的服务行为。
c# - 实现 IErrorHandler 时出错 - 无法添加行为扩展
我使用这两篇文章作为实现 IErrorHandler 的参考:
(我正在使用 .net Framework 3.5。)
但是,我遇到了一些麻烦 - 每当我尝试启动服务时,都会收到以下错误:
System.Configuration.ConfigurationErrorsException:无法将行为扩展“errorHandlerExtension”添加到名为“Test.TestService.Service1Behavior”的服务行为,因为基础行为类型未实现 IServiceBehavior 接口。
这是我的代码和配置文件:
错误处理程序扩展.cs:
}
网络配置:
每当我摆脱 errorHandlerExtension / 元素时,该服务都可以正常工作,但是只要我包含 errorHandlerExtension 元素(带有错误),它就无法启动。我是 WCF 的新手,很困惑。有任何想法吗?
编辑:添加ErrorHandler.cs: