Herramientas para capturar y convertir la web

Manejador con ASP.NETAPI ASP.NET

Descripción

¿Tiene problemas para depurar su controlador? Prueba el Herramienta de prueba de controlador de devolución de llamada.

El controlador descrito aquí procesa las devoluciones de llamada del servicio web de captura de pantalla GrabzIt. La URL de este controlador se pasa a GrabzIt en el callBackURL parámetro de la Save método. Sin embargo, esta técnica solo funcionará si se puede acceder al controlador a través de Internet.

Los siguientes parámetros se pasan al controlador como parámetros GET.

  • id: el identificador único de la captura de pantalla, utilizado por GetResult Método
  • filename: el nombre de archivo de la captura de pantalla, creado automáticamente combinando el identificador único de la captura de pantalla con su extensión de archivo
  • mensaje: cualquier mensaje debido a un error causado durante el procesamiento de la captura de pantalla
  • customId: cualquiera ID personalizado que se pasó al servicio web GrabzIt a través de Save Método
  • formato: el formato de la captura de pantalla, por ejemplo, "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " tiff "," webp "o" xlsx "
  • targetterror: si se devuelve un 1, la captura contiene un error genérico, debido a un problema causado por el objetivo de captura

Si desea bloquear todo el acceso al controlador, excepto desde Grabz, use este técnica de seguridad.

Implementación de un controlador de devolución de llamada utilizando MVC

Recuerde que las devoluciones de llamada no funcionarán si su aplicación se encuentra en localhost.

Para agregar un controlador a un proyecto MVC, simplemente defina un método con la siguiente firma en un controlador como se muestra en el proyecto SampleMVC del Demostración de ASP.NET.

Luego, pase la URL de este método a Grabz, de modo que si está en el controlador de inicio, la URL de devolución de llamada podría ser algo como: 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;
}

Implementación de un controlador de devolución de llamada utilizando formularios web

La forma más fácil de implementar un controlador de devolución de llamada es crear un controlador genérico y heredar de GrabzIt.Handler clase como se muestra a continuación y luego implementar el Process método. Este método captura cinco parámetros pasados ​​desde el servicio GrabzIt, incluida la identificación única de la captura que se pasa al GetResult método.

Este método luego devuelve la captura, que es saved en el directorio de resultados. Sin embargo si un null el valor se devuelve desde GetResult método esto indica que ha ocurrido un error.

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));
    }
}

Otras técnicas

Si bien la técnica anterior utiliza un controlador genérico, puede utilizar una página ASPX con la misma facilidad para recibir la devolución de llamada y descargar la captura. Para hacer esto, simplemente cree su propia página ASPX, etc. y luego lea el preguntastring parámetros mencionados anteriormente. El parámetro más útil es el parámetro id, que se puede usar con GetResult Método para descargar la captura.