Ferramentas para capturar e converter a Web

Manipulador com ASP.NETAPI do ASP.NET

Descrição

Está tendo problemas para depurar seu manipulador? Tente o Ferramenta de teste de manipulador de retorno de chamada.

O manipulador descrito aqui processa retornos de chamada do serviço da Web de captura de tela GrabzIt. A URL desse manipulador é passada para GrabzIt no diretório callBackURL parâmetro do Save método. No entanto, essa técnica funcionará apenas se o manipulador estiver acessível via Internet.

Os seguintes parâmetros são passados ​​para o manipulador como parâmetros GET.

  • id - o identificador exclusivo da captura de tela, usado pelo GetResult método
  • filename - o nome do arquivo da captura de tela, criado automaticamente combinando o identificador exclusivo da captura de tela com a extensão do arquivo
  • message - qualquer mensagem devido a um erro causado durante o processamento da captura de tela
  • customId - qualquer identificação personalizada que foi passado para o serviço da web GrabzIt por meio do Save método
  • formato - o formato da captura de tela, por exemplo, "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "jpg", "json", "pdf", "png", " tiff "," webp "ou" xlsx "
  • targeterror - se um 1 for retornado, a captura conterá um erro genérico, devido a um problema causado pelo destino da captura

Se você deseja bloquear todo o acesso ao manipulador, exceto o GrabzIt, use este técnica de segurança.

Implementando um manipulador de retorno de chamada usando MVC

Lembre-se de que retornos de chamada não funcionarão se seu aplicativo estiver localizado no host local.

Para adicionar um manipulador a um projeto MVC, basta definir um método com a seguinte assinatura em um controlador, conforme mostrado no projeto SampleMVC do Demonstração do ASP.NET.

Em seguida, passe o URL desse método para o GrabzIt. Se estiver no controlador Home, o URL de retorno de chamada pode se parecer com: 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;
}

Implementando um manipulador de retorno de chamada usando formulários da Web

A maneira mais fácil de implementar um manipulador de retorno de chamada é criar um manipulador genérico e herdar de GrabzIt.Handler como mostrado abaixo e, em seguida, implemente o Process método. Esse método captura cinco parâmetros transmitidos a ele a partir do serviço GrabzIt, incluindo o ID exclusivo da captura que é transmitida para o GetResult método.

Esse método retorna a captura, que é saved no diretório de resultados. No entanto, se um null valor é retornado do GetResult método indica que ocorreu um erro.

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

Outras técnicas

Enquanto a técnica acima usa um manipulador genérico, você pode usar com facilidade uma página ASPX para receber o retorno de chamada e baixar a captura. Para fazer isso, basta criar sua própria página ASPX, etc, e depois ler o perguntastring parâmetros mencionados acima. O parâmetro mais útil é o parâmetro id, que pode ser usado com o GetResult método para baixar a captura.