Вы поднимаете очень интересный вопрос. Посмотрев на Reflector, я также вижу, что CorrelationManager использует CallContext для хранения идентификатора активности. Я не слишком много работал с трассировкой, поэтому я не могу говорить от имени того, какие виды действий он отслеживает, но если он отслеживает одно действие в течение всего жизненного цикла запроса страницы, согласно статье, на которую вы ссылались выше, вероятность того, что идентификатор активности может быть не связан с фактической активностью. Эта деятельность, казалось бы, умерла на полпути.
HttpContext может показаться идеальным для отслеживания всего запроса страницы от начала до конца, поскольку он будет перенесен, даже если выполнение изменится на другой поток. Однако HttpContext не будет перенесен в ваши бизнес-объекты, где, как это делает CallContext. С другой стороны, я увидел, что CallContext также может быть передан при использовании удаленного взаимодействия между клиентскими и серверными приложениями, что довольно изящно, но в случае отслеживания веб-сайта это не очень полезно.
Если вы этого еще не сделали, проверьте сайт этого парня . Проблема, описанная в этой статье, не является той же самой проблемой, о которой упоминала статья Cup (Of T) , но она все еще довольно интересна. Он также предоставляет несколько очень информативных ссылок на странице, которые описывают компоненты CorrelateionManager.
К сожалению, у меня действительно нет ответа на ваш вопрос, но я определенно нахожу эту тему интересной и буду продолжать ее изучать. Поэтому, пожалуйста, обновите этот пост, как вы узнаете больше. Мне любопытно посмотреть, что вы или другие (надеюсь, кто-то там сможет пролить некоторый свет на эту тему) найдут, глядя на это.
В любом случае, удачи. Я поговорю об этом с некоторыми из писателей на моей работе и опубликую позже, если найду что-нибудь.
Chris