Exemplo n.º 1
0
        public override bool Match(Message message)
        {
            if (message == null)
            {
                throw FxTrace.Exception.ArgumentNull("message");
            }

            if (InnerFilter.Match(message))
            {
                bool isMatch = ((message.Headers.ReplyTo == null) ||
                                (message.Headers.ReplyTo.IsAnonymous));

                if (!isMatch && TD.DiscoveryMessageWithInvalidReplyToIsEnabled())
                {
                    EventTraceActivity eventTraceActivity = null;
                    if (Fx.Trace.IsEtwProviderEnabled)
                    {
                        eventTraceActivity = EventTraceActivityHelper.TryExtractActivity(message);
                    }

                    TD.DiscoveryMessageWithInvalidReplyTo(eventTraceActivity, message.Headers.MessageId.ToString());
                }

                return(isMatch);
            }

            return(false);
        }