问题描述
我已经在 SO 和其他论坛上查看了此问题的答案,但还没有看到能够令人满意地解释我如何解决此问题的答案,所以请耐心等待。
我正在开发几个老式的 Asp.Net/C# 网站 (4.6),并且需要一个验证码图像......我已经有一个可以重用的 HttpHandler 类,它利用了另一个实际上生成图像本身。但是我想将处理程序代码保留在它自己的程序集中,而不必将其代码复制并粘贴到我必须发布的每个网站的 ASHX 文件中。有没有一种好的、干净的方法来调用处理程序(实现 IHttpHandler 接口)而不需要 ASHX 文件?
这就是我到目前为止所做的尝试。
web.config:
<system.webServer>
<handlers>
<add name="Captcha" path="*Captcha.jpg" type="MyNamespace.CaptchaImageHandler,CaptchaImageHandler" verb="GET" />
</handlers>
...
</system.webServer>
处理程序:
namespace MyNamespace
{
public class CaptchaImageHandler : IHttpHandler
{
public bool IsReusable
{
get
{
return true;
}
}
public void ProcessRequest(HttpContext context)
{
...
}
}
}
...在我的网页中,我有一个名为 CaptchaImage 的 html 图像控件,我以这种方式在代码隐藏中更新 Src:
CaptchaImage.Src = "~/Images/Captcha.jpg?w=160&h=64&(additional arguments for colors,etc.)"
我已经尝试了路径的波浪号方法,并指出了图像文件夹的完整路径(这应该无关紧要,对吧?那里没有“真实”图像),但两种方法似乎都不起作用.使用图像的 URL 直接浏览(处理程序)会给我一个 404。
任何帮助将不胜感激。非常感谢大家,祝你幸福!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)