WIN7系统IIS上发布站点后水印效果失效的解决方法

关于使用一般处理程序给图片添加水印的方法,请参考:

使用一般处理程序(IHttpHandler)制作图片水印

有些时候,给图片添加水印了,在本机运行也都正常,但是发布到IIS上后就没有水印效果了。本人做这个功能的时候就碰到这个问题了,百度了好久,都没找到合适的答案,最后还是自己慢慢摸索出来了以下几点,希望能对碰到这种问题的朋友们有些帮助:

1. 在IIS上部署HttpHandler:

选定节点,点击相应的“处理程序映射”,进入页面

选定“处理程序映射”后,点击右侧的“添加脚本映射”选项,进入相应页面

填写相应内容:

请求路径:填写*.jpg是给所有图片加水印,images/goods/*.jpg是指定images文件夹下goods文件夹中的所有图片添加水印,可以根据需要自行填写。

可执行文件:点击右侧的按钮,在选择窗口中选择:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,点击确定。

注意:64位系统有两个文件夹,一个是framework64,一个是framework,这个要与应用程序池中是否启用32位应用程序相对应,如果这两个不一致,就会出现异常。

点击 请求限制,进入相关窗口进行设置:一般在访问选项中选择脚本即可,其他无需设置。

在IIS上部署HttpHandler完成。

2.设置应用程序池:选定站点绑定的应用程序池,查看“是否启用32位应用程序”

默认情况下,64位WIN7系统中的“是否启用32位应用程序”默认选择为Flase.即默认启用64位应用程序的。那么,在应用程序池没有改动情况下,要选择C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll。

如果“是否启用32位应用程序”设置为True,那么要选择C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll。

3. 如果HttpHandler已经正确部署,还是没有效果,那么重启电脑,重启IIS服务,只要本机运行正常,HttpHandler部署正确,应该都可以正常显示了。

本人的就是部署了HttpHandler后检查了好些遍,并没有发现什么错误,IIS也重启了,但还是没有显示。这时就郁闷的要死了,配置文件里面也有部署HttpHandlers的一些节点。都没问题的。后来帮同事调一个网页,由于时间比较久,回来后,电脑进入了睡眠状态,网络也断掉了,再次回去运行页面,居然正常显示了。

posted on   逍遥云天  阅读(661)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示