gpt4 book ai didi

asp.net-mvc-3 - 用于图像大小调整的 MVC3 通用处理程序 (.ashx)(需要干净的 URL)

转载 作者:行者123 更新时间:2023-12-04 04:48:26 24 4
gpt4 key购买 nike

我在 asp.net mvc3 web 应用程序中有一个通用处理程序 (.ashx)。我用它来调整和缓存图像。但我的网址不干净( http://www.example.com/Thumb.ashx?img=someimage.jpg )我想让它像 http://www.example.com/Thumb/someimage.jpg 一样干净
我该怎么做?

我可以在 global.asax 中映射路由,是的,那么如何?还是应该使用 IIS 7 URL 重写?

我感谢任何帮助,谢谢

最佳答案

经过几个小时的研究,我使用 class (RouteHandler.cs) http 处理程序完成了它,但没有使用 .ashx,因为 .ashx 不能使用 global.asax 进行路由

public class RouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
HttpHanler httpHandler = new HttpHanler();
return httpHandler;
}
public class HttpHanler : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
var routeValues = context.Request.RequestContext.RouteData.Values;
string file = context.Request.RequestContext.RouteData.Values["img"].ToString();

// anything you can do here.

context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite("~/cat.jpg");
context.Response.End();

}
}
}

然后在 global.asax 中注册一个路由
 routes.Add(new Route("Thumb/{img}", new RouteHandler()));

关于asp.net-mvc-3 - 用于图像大小调整的 MVC3 通用处理程序 (.ashx)(需要干净的 URL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17811575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com