- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个跨很多很多项目的 C# 解决方案。我创建了一个从 Systme.Diagnostics.Tracing.EventSource 继承的跟踪类,称为 MyCustomEventSource,它处理我的大部分跟踪事件。我想为每个项目创建此类的子类,以便我可以实现与特定项目相关的事件。
我还在编写一个 ETW 消费者,我可以在其中轻松地监听来 self 系统的不同组件的事件。
但我的消费者无法正确识别事件:当我监听 MyCustomEventSource 时,每个事件的 EventName 字段都设置为方法的名称,而 FormattedMessage 设置为 Message 属性。示例:
[Event(1,
Message = "The configuration parameter \"{0}\" was loaded with a value of {1}.",
Level = EventLevel.Informational,
Task = Tasks.Configuration,
Keywords = Keywords.Diagnostics)]
public void ConfigParameterLoaded(string name, string value)
{
WriteEvent(1, name, value);
}
如果我监听 MyCustomEventSource,并且一个应用程序调用了 ConfigParameterLoaded,那么我会得到一个名为 ConfigParameterLoaded 的事件,它的 FormattedMessage 是“配置参数“x”已加载值为 y。”
这很好。
但是,如果我在 MyCustomEventSource 的子类上创建一个类似的方法并从该子类触发事件,我的 EventName 将始终为“EventSourceMessage”,而 FormattedMessage 将始终为 null。
我认为这可能是因为 System.Diagnostics.Tracing.EventAttribute 没有 AttributeUsage(Inherited=true)。
我的问题是:有没有办法解决这个问题,并在从子类触发事件时获得正确的信息?
最佳答案
这是行不通的,因为它是不允许的。您只能实现接口(interface)并派生自不包含任何事件、任务、关键字的抽象类。阅读 _EventSourceUsersGuide.docx
:
Starting with the RTM release of the EventSource NuGet package it is now possible to specify event source types that are implementing an interface. The initial design decision (in the beta release of the NuGet package) to explicitly disallow event source class hierarchies. In the new approach one can define utility event source types: abstract event source classes that derive from EventSource and hold all code common to a set of event sources. These abstract classes cannot define any ETW-specific elements: keywords, tasks, opcodes, channels, events. They can only provide methods to be used by derived classes.
关于c# - .Net : subclassing subclasses of EventSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43706628/
我正在使用 https://github.com/streamdataio/eventsource-android/ 的 EventSource REPO我创建了一个 onConnect ();方法,
我正在开发一个由三个 Windows 服务和几个普通 Windows 应用程序 (.exe) 组成的大型产品。现在我们要转移到 ETW 和语义日志记录,并使用 Microsoft.Diagnostic
我正在研究使用 DDD+CQRS+EventSourcing 制作应用程序,但在弄清楚如何进行用户身份验证时遇到了一些麻烦。 用户本质上是我领域的一部分,因为他们对客户负责。我正在使用 ASP.NET
从 EventSource 开始API 我写的最学术的例子。 问题是我总是出错,我找不到任何有用的信息。当我加载 home.html , JS 脚本停在 source.onerror ;我将它打印到控
我不知道如何使用 JavaScript 从 EventSource 捕获事件。我正在这样做,但是“正在运行”永远不会出现在控制台中。 var es = new EventSource(
我创建了一个自托管 ServiceStack 服务,该服务基于其 showcase chat application 在 Windows 服务中运行。 。 但是,我没有进一步讨论的是尝试将客户端编写为
我正在使用 EventSource 登录到 ETW。我们正在使用 .Net Framework 4.5。 由于我处于开发的初级阶段,我将经常更改我的 EventSource 子类中的方法签名。我真的不
我正在使用 EventSource 在我的库中记录事件。该库是跨平台的,这意味着它可以被 linux/mac 用户使用。我知道 EventSource 在 Windows 上是如何工作的。用户可以使用
对 EventSource 行为有点困惑。 它连接良好并保持连接状态,直到收到第一条消息。 当我发送一条 data: something\n\n 消息时,连接断开并创建新连接。 使用 Content-
我在项目前端使用 JavaScript EventSource。 有时,浏览器和服务器之间的连接失败或服务器崩溃。在这些情况下,EventSource 会在 3 秒后尝试重新连接,如文档中所述。 但它
我正在尝试创建一个页面,该页面使用 EvenSource 对象(在 javascript 中)来创建服务器发送事件( cometd )。我阅读了很多关于它的教程,但没有找到可以解释以下问题的教程: 当
我正在尝试在我的新项目中使用 CQRS 和 EventSorcing。我正在遵循 Greg Young 几年前建议的方式(Mark Nijhof 实现 - http://cre8ivethought.
我有一个使用 EventSourcing 的 DDD 项目。目前有许多聚合根,其中许多都有实体的集合。甚至更多 - 一些实体具有其他实体的集合。 问题:出于审计目的读取 EventSourcing 事
我正在尝试为 Yesod 中的网站构建聊天功能,我希望它有一个所有已连接用户的列表。我认为最好的方法是将人员添加到连接上的用户列表中,并在他们离开时将其删除。如果保持连接打开,响应似乎应该阻塞,所以我
我有一个用例,我想发布一个非状态更改事件作为触发器。 In the vast majority of cases, the Aggregates will publish events by ap
我正在尝试使用 dddd 实现一个事件源系统。目前,我正在努力了解我的事件如何以及在何处跨越限界上下文的边界。 假设有两个限界上下文: 产品管理 物流系统 产品管理拥有关于产品的所有知识。为了简化,它
TL;DR 更新:无论是从客户端关闭 EventSource 还是完全关闭客户端,php 都会继续在后端执行并且无法报告 connection_aborted() 的正确值.为什么会这样? 我一直在
我正在尝试实现 Server Sent Events使用 Spring SseEmitter如本 Youtube video 中所述. 我能够启动事件流并从服务器发送的事件中接收数据。 但是,我可以看
我正在实现 FullCalendar 作为我的团队的假期日历。我希望团队中的每个成员的项目都有不同的颜色,因此我使用 ajax 请求从数据库中提取列表。我想知道如何将此列表组合到事件数组中以创建 ev
刚刚将我的 fullcalendar 更新到 1.6.3,将 jQuery 更新到 1.10.2突然我的日历不再显示来自“eventSources”的事件。我在文档中找不到任何说明需要更改的内容。为了
我是一名优秀的程序员,十分优秀!