【发布时间】:2016-06-07 21:05:08
【问题描述】:
在此链接上:https://azure.microsoft.com/en-us/documentation/articles/app-insights-api-custom-events-metrics/
它明确表示:
TelemetryClient 是线程安全的。
我们建议您为应用的每个模块使用 TelemetryClient 的实例。
但是,MSDN 文档 (https://msdn.microsoft.com/en-us/library/azure/microsoft.applicationinsights.telemetryclient.aspx) 说:
此类型的任何公共静态(在 Visual Basic 中为共享)成员都是线程安全的。不保证任何实例成员都是线程安全的。
所以问题是,TrackEvent 和 TrackMetric 等大多数函数都不是静态的。如果我遵循第一篇文章,为我的 Web 服务提供一个单例实例,我会遇到线程问题吗?
【问题讨论】:
-
您不会遇到线程问题。如果您需要我,我可以进一步详细说明,但出于所有密集目的,您不会遇到线程问题。
-
问题中的 MSDN 链接重定向到的new docs page 没有矛盾的非线程安全免责声明。
标签: c# multithreading azure azure-application-insights