我们在将ApplicationInsights集成到客户端服务器WPF应用程序中时遇到问题:
我们已根据此链接https://docs.microsoft.com/en-us/azure/application-insights/app-insights-ip-addresses将代理设置为允许通过流量,但由于暂时禁用防火墙和代理时Azure门户中未收到事件,因此这并不相关。 / p>
是否有人知道为什么在使用发布版本时未发送事件?
更新
在visual studio中构建客户端的发布版本并运行它时,它会发送事件(!)。通常,发布版本是使用Jenkins和MSBuild构建的。有区别吗?
更新2:
似乎与启动WPF-App的路径有关。如果找到应用程序并从C:\ Projects的任何子路径启动它,则会将事件发送到ApplicationInsights,如果不是,则不会。对于任何感兴趣的人,构建TelemetryClient的代码是:
private static TelemetryClient GetAppInsightsClient() {
TelemetryClient client = null;
if (Assembly.GetEntryAssembly() != null) {
var config = new TelemetryConfiguration();
config.InstrumentationKey = TelemetryKey;
config.TelemetryChannel = new Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel();
//config.TelemetryChannel = new Microsoft.ApplicationInsights.Channel.InMemoryChannel(); // Default channel
config.TelemetryChannel.DeveloperMode = Debugger.IsAttached;
#if DEBUG
config.TelemetryChannel.DeveloperMode = true;
//debug = true;
#endif
client = new TelemetryClient(config);
client.Context.Component.Version = Assembly.GetEntryAssembly().GetName().Version.ToString();
client.Context.Session.Id = Guid.NewGuid().ToString();
client.Context.User.Id = (Environment.UserName + Environment.MachineName).GetHashCode().ToString();
client.Context.Device.OperatingSystem = Environment.OSVersion.ToString();
}
return client;
}