Le gestionnaire décrit ici traite les rappels à partir du service Web de capture d'écran GrabzIt. L’URL de ce gestionnaire est transmis à GrabzIt dans le répertoire callBackURL
paramètre de la Save méthode.
Cependant, cette technique ne fonctionnera que si le gestionnaire est accessible via le Internet.
Les paramètres suivants sont transmis au gestionnaire en tant que paramètres GET.
Si vous souhaitez bloquer tous les accès au gestionnaire, à l'exception de GrabzIt, utilisez cette commande. technique de sécurité.
Pour ajouter un gestionnaire à un projet MVC, définissez simplement une méthode avec la signature suivante dans un contrôleur, comme indiqué dans le projet SampleMVC du Démo ASP.NET.
Ensuite, passez l'URL de cette méthode à GrabzIt. Ainsi, si cela se trouve dans le contrôleur Accueil, l'URL de rappel pourrait ressembler à ceci: http://www.example.com/Home/Handler
public ActionResult Handler(string filename, string id, string message, string customId, string format, int targeterror) { GrabzItClient grabzItClient = GrabzItClient.Create("Sign in to view your Application Key", "Sign in to view your Application Secret")%>"); GrabzItFile file = grabzItClient.GetResult(id); file.Save(Server.MapPath("~/results/" + filename)); return null; }
Le moyen le plus simple d’implémenter un gestionnaire de rappel est de créer un gestionnaire générique et d’en hériter. GrabzIt.Handler
classe comme indiqué ci-dessous, puis mettre en œuvre la Process
méthode. Cette méthode capture cinq paramètres qui lui sont transmis à partir du service GrabzIt, y compris l’identifiant unique de la capture qui est transmis au serveur. GetResult méthode.
Cette méthode retourne ensuite la capture, qui est saved dans le répertoire de résultats. Cependant si un null
la valeur est renvoyée par le GetResult méthode cela indique qu'une erreur est survenue.
public class OverridenHandler : GrabzIt.Handler { protected override void Process(HttpContext context, string filename, string id, string message, string customId, string format, bool targetError) { GrabzItClient grabzIt = GrabzItClient.Create("Sign in to view your Application Key", "Sign in to view your Application Secret")%>"); GrabzItFile file = grabzIt.GetResult(id); file.Save(context.Server.MapPath("~/results/" + filename)); } }
Bien que la technique ci-dessus utilise un gestionnaire générique, vous pouvez également utiliser une page ASPX pour recevoir le rappel et télécharger la capture. Pour ce faire, créez simplement votre propre page ASPX, puis lisez le questionstring paramètres mentionnés ci-dessus. Le paramètre le plus utile est le paramètre id, qui peut être utilisé avec le GetResult
méthode pour télécharger la capture.