我想知道哪个页面和哪个 URL 调用了我的 Handler .ashx,这可能吗?
我需要这个,因为我有一个处理程序,它从数据库调用和转换图像,但是我的一些图像 URLS 没有传递正确的查询参数(它们在数据库中不存在),我需要调用的 URL 是什么看看该论点的图像是什么。
为什么不直接使用 context.Request.UrlReferrer?
一个快速解决您当前问题的方法是调用(在 C# 中)
在您的public void ProcessRequest(HttpContext context){}
方法中,添加以下 3 行。
IServiceProvider provider = (IServiceProvider)context;
HttpWorkerRequest worker = (HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));
String referer = worker.GetKnownRequestHeader(HttpWorkerRequest.HeaderReferer);
这将为您提供调用您的处理程序的页面的 URL。
不过,为了更进一步,理想情况下,您应该实现错误处理以处理任何丢失的图像。