- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 EventSource 登录到 ETW。我们正在使用 .Net Framework 4.5。
由于我处于开发的初级阶段,我将经常更改我的 EventSource 子类中的方法签名。我真的不想每次进行更改时都必须增加版本。版本只有一个字节,所以我很快就会用完版本。
有没有一种方法可以强制 ETW 在不添加/更改 Version 属性的情况下识别签名更改?
感觉它可能与 list 文件的生成有关,但我真的找不到很多关于如何在 v4.5 中完成此操作的信息。似乎在过去需要手动生成 list 文件,现在它是以某种方式神奇地生成的。
如有任何帮助,我们将不胜感激。
编辑:
当我更改签名时,日志看起来仍然像旧签名。例如,如果我的方法是这样的
public void MyLogMethod(string name, int id)
以后如果我想再添加一个参数,比如
public void MyLogMethod(string name, int id, string message)
除非我增加 Version 属性,否则消息值不会显示在有效负载中。我希望 ETW 无需更改 Version 属性即可识别我更改的签名。
最佳答案
ETW 是一个强类型日志系统,而 EventSource 是建立在它之上的 .NET 层。是的,现在 EventSource 正在自动将其自己的 list 注入(inject)到 ETW 流中。但是您必须使用通过 Nuget 提要分发的 the latest stable version。作为 .NET 4.5 一部分的版本几乎没有错误并且缺少某些功能。
最新版本的 EventSource 会在启动期间和每次创建新的 ETL 文件时将 list 信息发送到底层 ETW 提供程序中。如果您使用 Tx LINQpad driver 或 SfvPerf ,您会看到记录的 ETL 文件中的第一个事件的事件 ID 等于 64567(据我所知),这是一个 EventSource 系统事件,它也使用相同的 ID 来记录其错误消息,以便您可以检查这些消息以进行诊断。
Version 属性的唯一目的是支持当您有多个客户端使用不同版本来提供同一个 ETW 提供程序时的场景,因此结果跟踪事件可能会根据版本标记进行反序列化。在您的情况下,为您的事件源保留以前版本的 ETW list 之间的兼容性似乎不是问题。
关于c# - EventSource - 无法获取要应用的方法签名更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29402747/
我需要您在以下方面提供帮助。近一个月来,我一直在阅读有关任务和异步的内容。 我想尝试在一个简单的 wep api 项目中实现我新获得的知识。我有以下方法,并且它们都按预期工作: public Htt
我的可执行 jar 中有一个模板文件 (.xls)。不需要在运行时我需要为这个文件创建 100 多个副本(稍后将唯一地附加)。用于获取 jar 文件中的资源 (template.xls)。我正在使用
我在查看网站的模型代码时对原型(prototype)有疑问。我知道这对 Javascript 中的继承很有用。 在这个例子中... define([], function () { "use
影响我性能的前三项操作是: 获取滚动条 获取偏移高度 Ext.getStyle 为了解释我的应用程序中发生了什么:我有一个网格,其中有一列在每个单元格中呈现网格。当我几乎对网格的内容做任何事情时,它运
我正在使用以下函数来获取 URL 参数。 function gup(name, url) { name = name.replace(/[\[]/, '\\\[').replace(/[\]]/,
我最近一直在使用 sysctl 来做很多事情,现在我使用 HW_MACHINE_ARCH 变量。我正在使用以下代码。请注意,当我尝试获取其他变量 HW_MACHINE 时,此代码可以完美运行。我还认为
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关闭 9 年前。 要求提供代码的问题必须表现出对所解决问题的最低限度的理解。包括尝试过的解决方案、为什么
由于使用 main-bower-files 作为使用 Gulp 的编译任务的一部分,我无法使用 node_modules 中的 webpack 来require 模块code> dir 因为我会弄乱当
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我使用 Gridlayout 在一行中放置 4 个元素。首先,我有一个 JPanel,一切正常。对于行数变大并且我必须能够向下滚动的情况,我对其进行了一些更改。现在我的 JPanel 上添加了一个 J
由于以下原因,我想将 VolumeId 的值保存在变量中: #!/usr/bin/env python import boto3 import json import argparse import
我正在将 MSAL 版本 1.x 更新为 MSAL-browser 的 Angular 。所以我正在尝试从版本 1.x 迁移到 2.X.I 能够成功替换代码并且工作正常。但是我遇到了 acquireT
我知道有很多关于此的问题,例如 Getting daily averages with pandas和 How get monthly mean in pandas using groupby但我遇到
This is the query string that I am receiving in URL. Output url: /demo/analysis/test?startDate=Sat+
我正在尝试使用 javascript 中的以下代码访问 Geoserver 层 var gkvrtWmsSource =new ol.source.ImageWMS({ u
API 需要一个包含授权代码的 header 。这就是我到目前为止所拥有的: var fullUrl = 'https://api.ecobee.com/1/thermostat?json=\{"s
如何获取文件中的最后一个字符,如果是某个字符,则删除它而不将整个文件加载到内存中? 这就是我目前所拥有的。 using (var fileStream = new FileStream("file.t
我是这个社区的新手,想出了我的第一个问题。 我正在使用 JSP,我成功地创建了 JSP-Sites,它正在使用jsp:setParameter 和 jsp:getParameter 具有单个字符串。
在回答 StoreStore reordering happens when compiling C++ for x86 @Peter Cordes 写过 For Acquire/Release se
我有一个函数,我们将其命名为 X1,它返回变量 Y。该函数在操作 .on("focusout", X1) 中使用。如何获取变量Y?执行.on后X1的结果? 最佳答案 您可以更改 Y 的范围以使其位于函
我是一名优秀的程序员,十分优秀!