gpt4 book ai didi

wcf - 用于非 HTTP 协议(protocol)应用程序的 Elmah 或没有 HttpContext 的 Elmah

转载 作者:行者123 更新时间:2023-12-04 18:16:17 24 4
gpt4 key购买 nike

我们正在开发一个 3 层应用程序,并且我们被允许使用最新最好的(MVC2、IIS7.5、WCF、SQL2k8 等)。应用程序层通过 WCF 服务向各种 Web 应用程序公开。由于我们同时控制服务端和客户端,因此我们决定使用 net.tcp 绑定(bind),因为它们的性能优于 HTTP。

我们想使用 ELMAH对于 Web 应用程序和服务上的错误日志记录。这是我的问题。有很多关于将 ELMAH 与 WCF 结合使用的信息,但都是针对 HTTP 绑定(bind)的。有谁知道您是否/如何将 ELMAH 与暴露非 HTTP 端点的 WCF 服务一起使用?

我的猜测是否定的,因为 ELMAH 需要 HttpContext,它需要 AspNetCompatibilityEnabled在 web.config 中标志为真。来自 MSDN :

IIS 7.0 and WAS allows WCF services to communicate over protocols other than HTTP. However, WCF services running in applications that have enabled ASP.NET compatibility mode are not permitted to expose non-HTTP endpoints. Such a configuration generates an activation exception when the service receives its first message.



如果确实不能将 ELMAH 与具有非 HTTP 端点的 WCF 服务一起使用,那么接下来的问题是:我们能否以不需要 HttpContext 的方式使用 ELMAH?
或者更一般地说(以免提交 thin metal ruler 错误),是否有任何方法可以将 ELMAH 与具有非 HTTP 端点的 WCF 服务一起使用?

注:我知道我们可以下载 Elmah 源代码并将其更改为添加 shim 或删除 HttpContext 依赖项,但我试图避免 fork 代码。

最佳答案

不,ELMAH 是一个 HTTP 模块,除非您提供 HTTP 请求,否则 ELMAH 不会做任何事情

关于wcf - 用于非 HTTP 协议(protocol)应用程序的 Elmah 或没有 HttpContext 的 Elmah,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2886352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com