Wie kann ich einen asynchronen WCF-Anruf abbrechen?

Ich habe einige Zeit versucht, herauszufinden, wie die WCF-Anrufannullierung basierend auf dem neuen .NET 4.5 CancellationToken-Mechanismus implementiert werden kann. Alle Beispiele, die ich gefunden habe, basieren nicht auf WCF und überschreiten nicht die Servicegrenze.

Mein Service:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class MyService : IMyService
{   
    public void LongOperation()
    {
        // do stuff that takes ages...
        // please cancel me!
    }
}
Mein Client (Desktop-App):

Mit einem automatisch generierten Proxy:

private async void DoLongRunningTaskAsync()
{
    var asyncTask = _myService.LongOperationAsync();
    await asyncTask;
}

Wie kann ich diese Aufgabe abbrechen? Bitte geben Sie ein konkretes Beispiel für WCF unter .NET 4.5 + a

BEARBEITEN

Die folgenden Antworten scheinen darauf hinzudeuten, dass dies aus technischen Gründen nicht möglich ist. Also stell dir vor, ich mache meinen ServiceContextMode=Session, dann setzen Sie eine statische Variable (in einem separaten Serviceabruf) mit dem NamencancellationPending=true, mein ursprünglicher Aufruf wird zu diesem Zeitpunkt noch ausgeführt und überprüft diese Variable regelmäßig. Kann ich trotzdem nicht stornieren? Wäre es immer noch unmöglich? Wenn ja warum