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.
callBackURL
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
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.
GrabzIt.Handler
Process
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.
null
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.
GetResult