I have a non critical/optional WCF Send Port that is useful during normal operations but needs to automatically disable at a certain throughput of messages. This high volume occurs when connected systems perform data loads (100 000 msgs per hour or more). The messages from the high volume time should not be kept or processed, just dropped completely. The Send port should resume processing/sending message once the volume drops below a threshold level. The application does not use orchestrations. My only idea so far is to track throughput using a custom pipeline component and something like redis, then either drop or send the message based on this. This seems like a not so good hack.
My question is: Using a WCF Adapter (or something else) is there an easy way to either drop a message or send it based on the current message throughput?