C# 添加有关按钮的CardAction的应用程序细节

C# 添加有关按钮的CardAction的应用程序细节,c#,botframework,azure-application-insights,C#,Botframework,Azure Application Insights,我是微软机器人程序框架的新手。我正在应用程序上记录自定义事件 洞察力。我无法确定如何在单击按钮时记录自定义事件。 有没有一种方法可以在CardAction of button中调用我的TrackCustomEvent函数?您可以在代码中添加遥测功能(用C#),如下所示。 请注意,我假设您是在azure中创建遥测服务的, 并获取InstrumentationKey var ai = new TelemetryClient(); ai.InstrumentationKey = "<your i

我是微软机器人程序框架的新手。我正在应用程序上记录自定义事件 洞察力。我无法确定如何在单击按钮时记录自定义事件。
有没有一种方法可以在CardAction of button中调用我的TrackCustomEvent函数?

您可以在代码中添加遥测功能(用C#),如下所示。 请注意,我假设您是在azure中创建遥测服务的, 并获取
InstrumentationKey

var ai = new TelemetryClient();
ai.InstrumentationKey = "<your instrumentation key from azure>";
ai.TrackTrace("Hello! " + DateTime.Now.ToString());
ai.TrackTrace("Info " + DateTime.Now.ToString(), SeverityLevel.Information, 
     // Here you can add a structure into the log
     new Dictionary<string, object>() { { "UserId", activity.GetChannelData<object>()}}
);
ai.Flush(); // it sends the logs into the telemetry service
var ai=新遥测客户端();
ai.InstrumentationKey=“”;
ai.TrackTrace(“你好!”+DateTime.Now.ToString());
ai.TrackTrace(“Info”+DateTime.Now.ToString(),服务器级别信息,
//在这里,您可以将结构添加到日志中
新建字典(){“UserId”,activity.GetChannelData()}
);
ai.Flush();//它将日志发送到遥测服务

此外,您应该设置一些配置并添加一些引用。可以跟进。

我已经解决了这个问题。这不是一个最好的解决方案,但我设法解决了。如果其他人发现类似问题,我会这样做:-我创建了一个网页,并将卡片操作值设置为该网页的url。除了一个url,我还传递了一个包含实际url的键。在页面加载时,我调用my Track CustomEvent函数,然后将用户重定向到实际url。您应该将其添加为答案,并提供详细信息,然后接受您自己的答案:)