CSDNCurrent de:Transfer zurückziehen
Der Transfer kann zurückgezogen werden, wenn beispielsweise aufgrund von veralteten Informationen der Zugriff für alle Empfänger verhindert werden soll.
Benutzung
Dem Absender eines Transfers wird es ermöglicht, den Transfer zurückzuziehen und die Empfänger des Transfers per E-Mail darüber zu informieren, indem die Methode `Client.RevokeTransfer` mit der Tracking-ID als Parameter aufgerufen wird. Auch der Absender wird als Bestätigung per E-Mail darüber informiert.
client.RevokeTransfer("my-tracking-id");
Standardmäßig versendet der Cryptshare Server eine Benachrichtigungsemail mit einer Standardnachricht an alle Empfänger. Es ist aber auch möglich, eine benutzerdefinierte Nachricht anzugeben:
const string message = "The information in this document are no longer valid and a transfer containing updated information has been provided. Please disregard this transfer."; client.RevokeTransfer("my-tracking-id", message);
Wenn Sie bestimmen möchten, ob eine Benachrichtigungsemail an Absender und/oder Empfänger versendet werden soll, können Sie weitere Parameter übergeben:
// Benachrichtigungsemail an Empfänger senden, aber nicht an Absender. client.RevokeTransfer("my-tracking-id", true, false); // Siehe oben, aber mit benutzerdefinierter Nachricht. const string message = "A new transfer containing updated documents is on its way, please ignore this transfer."; client.RevokeTransfer("my-tracking-id", true, false, message);
Fehlerbehandlung
Der Versuch, einen Transfer zurückzuziehen, kann in einer Ausnahme resultieren, welche behandelt werden sollte. Beispielsweise resultiert das Zurückziehen eines nicht existierenden Transfers oder eines Transfers, für welchen man nicht der ursprüngliche Absender ist, in einer `CryptshareServerException`.
try { client.RevokeTransfer("transfer-is-not-mine-or-does-not-exist"); } catch (CrypshareServerException e) { Console.Error.WriteLine("Failed to revoke the transfer: " + e); }
Falls nicht garantiert werden kann, dass der Zielserver das Zurückziehen eines Transfers unterstützt (siehe ), sollten mögliche Ausnahmen gefangen werden, da die API im Falle fehlender Unterstützung eine `NotSupportedException` wirft.
try { client.RevokeTransfer("my-tracking-id"); } catch (NotSupportedException e) { Console.Error.WriteLine("The Cryptshare Server does not support revoking a transfer: " + e); }