J'ai une classe qui stocke essentiellement les fichiers dans amazon s3. Voici à quoi il ressemble (simplifié)Appel d'un void asynchrone. - Modèle basé sur un événement, ou une autre méthode?
public class S3FileStore
{
public void PutFile(string ID, Stream content)
{
//do stuff
}
}
Dans mon application client, je veux être en mesure d'appeler:
var s3 = new() S3FileStore();
s3.PutFile ("myId", File.OpenRead(@"C:\myFile1"));
s3.PutFile ("myId", File.OpenRead(@"C:\myFile2"));
s3.PutFile ("myId", File.OpenRead(@"C:\myFile3"));
Je veux que ce soit une opération asynchrone - Je veux que le S3FileStore pour gérer cela (je ne veux pas que mon appelant doive exécuter de manière asynchrone PutFile pour ainsi dire) mais, je veux être capable de piéger des exceptions/dire si l'opération s'est terminée pour chaque fichier.
J'ai regardé des appels async à base d'événements, en particulier ceci: http://blogs.windowsclient.net/rendle/archive/2008/11/04/functional-shortcuts-2-event-based-asynchronous-pattern.aspx
Cependant, je ne vois pas comment appeler ma méthode PutFile (vide)?
Y a-t-il de meilleurs exemples?