tengo un HttpHandler con el siguiente código:Context.Response.StatusCode preparación para el trabajo
using System;
using System.Web;
using Company.Cms;
using Company.Web.Handlers.Console;
namespace Company.Web.Handlers
{
/// <summary>
/// Summary description for AdminHandler
/// </summary>
public class AdminHandler : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
HttpRequest request = context.Request;
HttpResponse response = context.Response;
string action = request.QueryString["action"];
if (!HttpContext.Current.User.CanAdminister())
{
response.StatusCode = 403;
response.Status = "403 Access Denied";
response.End();
return;
}
if (String.IsNullOrEmpty(action))
{
response.StatusCode = 404;
response.Status = "404 Not Found";
response.End();
return;
}
IHttpHandler handler = null;
switch (action)
{
case "menu":
handler = new MenuHandler();
break;
case "tree":
handler = new TreeHandler();
break;
case "grid":
handler = new GridHandler();
break;
case "list":
handler = new ListHandler();
break;
case "drop":
handler = new DropHandler();
break;
case "edit":
handler = new EditHandler();
break;
case "new":
handler = new InsertHandler();
break;
}
if (handler == null)
{
response.StatusCode = 404;
response.Status = "404 Not Found";
response.End();
}
else
{
handler.ProcessRequest(context);
}
}
}
}
Desafortunadamente cuando especifico intencionadamente una acción no válida, el navegador sólo muestra una página en blanco. No se muestran los mensajes de error del navegador tanto en Firefox como en IE.
¿Qué podría estar haciendo mal?
EDIT - IE muestra el mensaje de error, pero Firefox no lo hace.
¿Qué le dice Firebug/Fiddler sobre la respuesta? – Oded
Firebug muestra el estado correcto. ¿Esto significa que si quiero que el navegador muestre un mensaje, debo hacerlo yo mismo? –