Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. using System;
  2. using System.Web;
  3. using System.Web.Routing;
  4. using MyProject.Data;
  5. using MyProject.Infrastructure;
  6.  
  7. namespace MyProject.HttpHandlers
  8. {
  9. public class PersonImageHttpHandler : IHttpHandler
  10. {
  11. public RequestContext RequestContext { get; set; }
  12.  
  13. public PersonImageHttpHandler(RequestContext requestContext)
  14. {
  15. RequestContext = requestContext;
  16. }
  17.  
  18. /// <summary>
  19. ///
  20. /// </summary>
  21. public bool IsReusable
  22. {
  23. get { return false; }
  24. }
  25.  
  26. /// <summary>
  27. ///
  28. /// </summary>
  29. /// <param name="context"></param>
  30. public void ProcessRequest(HttpContext context)
  31. {
  32. var currentResponse = HttpContext.Current.Response;
  33.  
  34. currentResponse.ContentType = "image/jpeg";
  35. currentResponse.Buffer = true;
  36.  
  37. var usuarioId = Convert.ToInt32(RequestContext.RouteData.GetRequiredString("id"));
  38.  
  39. try
  40. {
  41. var person = new People(GeneralSettings.DataBaseConnection).SelectPorId(usuarioId);
  42.  
  43. currentResponse.BinaryWrite(person.Thumbnail);
  44. currentResponse.Flush();
  45. }
  46. catch (Exception ex)
  47. {
  48. context.Response.Write(ex.StackTrace);
  49. }
  50. }
  51. }
  52. }
  53.  
  54. using System.Web;
  55. using System.Web.Routing;
  56. using MyProject.HttpHandlers;
  57.  
  58. namespace MyProject.RouteHandlers
  59. {
  60. public class PersonImageRouteHandler : IRouteHandler
  61. {
  62. public IHttpHandler GetHttpHandler(RequestContext requestContext)
  63. {
  64. return new PersonImageHttpHandler(requestContext);
  65. }
  66. }
  67. }
  68.  
  69. using System.Web.Mvc;
  70. using System.Web.Routing;
  71. using MyProject.Helpers;
  72. using MyProject.RouteHandlers;
  73.  
  74. namespace MyProject
  75. {
  76. public class RouteConfig
  77. {
  78. public static void RegisterRoutes(RouteCollection routes)
  79. {
  80. routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
  81.  
  82. routes.Add(new Route("People/Thumbnail/{id}", new PersonImageRouteHandler()));
  83.  
  84. routes.MapRouteWithName(
  85. name: "Default",
  86. url: "{controller}/{action}/{id}",
  87. defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
  88. );
  89. }
  90. }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement