por Cesar Cassiano Schimanco

C# - ashx com .cs (code-behind)

Como criar um .cs para um Generic Handler (.ashx)?

Da mesma forma que funciona com um arquivo .asmx, você pode separar o código do .ashx, gerando um arquivo .ashx e um .cs.
Se colocar o código do .ashx no code-behind, terá que colocar o arquivo .cs no App_Code.

A grande vantagem de separar um .ashx e colocar seu .cs no App_Code é que quando compilar o projeto, o .ashx também será compilado e ficará nas DLLs.

Handler.ashx

<%@ WebHandler Language="C#"  CodeBehind="~/App_Code/Handler.cs" Class="Handler" %>

App_Code/Handler.cs

using System;
using System.Web;

public class Handler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Write("Hello World");
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}


Você pode fazer isso com o Global.asax também, so que nãoprecisará colocar seu .cs no App_Code. Veja o Exemplo

Global.asax

<%@ Application Codebehind="Global.asax.cs" Inherits="cbsa.Global" Language="C#" %>

Global.asax.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;

namespace cbsa
{
    public class Global : System.Web.HttpApplication
    {
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            ...
        }
    }
}

 

Comentários

Carregando comentários

Postar um novo comentário



Processando...