Es gibt wahrscheinlich mehr Möglichkeiten, um dieses Szenario zu behandeln, aber ich denke, sie alle einfach eine Ausnahme aus Ihrem IClientMessageInspect.BeforeSendRequest beinhalten werfen den Client-Betrieb vorzeitig zu beenden. Der Typ der Ausnahme, die Sie auslösen, hängt wahrscheinlich davon ab, was die verbrauchende Anwendung in Ihrem Szenario erwartet oder was Sie stromaufwärts woanders fangen können.
In meinem Fall, ich baute einen WCF RESTful Proxy/Routing-Dienst. Mein IClientMessageInspect war erforderlich, um ausgehende Nachrichten zu prüfen, die an unseren SMS-Anbieter gesendet wurden, und die ausgehende Nachricht nicht an die Service-API des Anbieters zu senden, es sei denn, die ausgehende Telefonnummer war im Router-Proxy/Routing-Dienst web.config
Wenn RouterServiceFault eine einfache Klasse ist, kann ich eine Nachricht zurückgeben, um die verbrauchende Anwendung anzuzeigen/einzuloggen.
[ServiceContract]
public class RouterServiceFault
{
[DataMember]
public string Message { get; set; }
}
Haben Sie das jemals gelöst? Ich sehe das gleiche Problem und ich finde nichts, um die Anfrage abzubrechen, ohne Körper zu senden –