Il gestore qui descritto elabora i callback dal servizio web screenshot di GrabzIt. L'URL di questo gestore viene passato a GrabzIt in callBackURL
parametro del Save metodo.
Tuttavia questa tecnica funzionerà solo se il gestore è accessibile tramite Internet.
I seguenti parametri vengono passati al gestore come parametri GET.
Se vuoi bloccare tutti gli accessi al gestore, ad eccezione di GrabzIt, usa questo tecnica di sicurezza.
Per aggiungere un gestore a un progetto MVC è sufficiente definire un metodo con la seguente firma in un controller come mostrato nel progetto SampleMVC del Demo ASP.NET.
Quindi passa l'URL di questo metodo a GrabzIt, quindi se questo si trova nel controller Home, l'URL di callback potrebbe assomigliare a: 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; }
Il modo più semplice per implementare un gestore callback è creare un gestore generico ed ereditare da GrabzIt.Handler
classe come mostrato di seguito e quindi implementare Process
metodo. Questo metodo acquisisce cinque parametri passati dal servizio GrabzIt, incluso l'id univoco dell'acquisizione che viene passato al GetResult metodo.
Questo metodo quindi restituisce l'acquisizione, che è saved nella directory dei risultati. Tuttavia se a null
il valore viene restituito da GetResult Questo metodo indica che si è verificato un errore.
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)); } }
Mentre la tecnica di cui sopra utilizza un gestore generico, è possibile utilizzare altrettanto facilmente una pagina ASPX per ricevere il callback e scaricare l'acquisizione. Per fare ciò basta creare la propria pagina ASPX ecc. E quindi leggere il domandastring parametri sopra menzionati. Il parametro più utile è il parametro id, che può essere utilizzato con GetResult
metodo per scaricare l'acquisizione.