Der hier beschriebene Handler verarbeitet Rückrufe vom GrabzIt-Screenshot-Webservice. Die URL dieses Handlers wird in der an GrabzIt übergeben callBackURL
Parameter der Save Methode.
Diese Technik funktioniert jedoch nur, wenn der Handler über das zugänglich ist Internet.
Die folgenden Parameter werden als GET-Parameter an den Handler übergeben.
Wenn Sie den gesamten Zugriff auf den Handler blockieren möchten, mit Ausnahme von GrabzIt, verwenden Sie diese Option Sicherheitstechnik.
Um einen Handler zu einem MVC-Projekt hinzuzufügen, definieren Sie einfach eine Methode mit der folgenden Signatur in einem Controller, wie im SampleMVC-Projekt des ASP.NET-Demo.
Übergeben Sie dann die URL dieser Methode an GrabzIt. Befindet sich diese im Home-Controller, könnte die Rückruf-URL folgendermaßen aussehen: 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; }
Die einfachste Möglichkeit, einen Callback-Handler zu implementieren, besteht darin, einen generischen Handler zu erstellen und von diesem zu erben GrabzIt.Handler
Klasse wie unten gezeigt und implementieren Sie dann die Process
Methode. Diese Methode erfasst fünf vom GrabzIt-Dienst übergebene Parameter, einschließlich der eindeutigen ID des Captures, das an das übergeben wird GetResult Methode.
Diese Methode gibt dann das Capture zurück saved im Ergebnisverzeichnis. Wenn jedoch a null
Wert wird von der zurückgegeben GetResult method dies zeigt an, dass ein Fehler aufgetreten ist.
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)); } }
Während die obige Technik einen generischen Handler verwendet, können Sie genauso einfach eine ASPX-Seite verwenden, um den Rückruf abzurufen und das Capture herunterzuladen. Dazu erstellen Sie einfach Ihre eigene ASPX-Seite usw. und lesen dann die querystring oben genannten Parameter. Der nützlichste Parameter ist der id-Parameter, der mit dem verwendet werden kann GetResult
Methode zum Herunterladen des Captures.