WIN7系统IIS上发布站点后水印效果失效的解决方法
关于使用一般处理程序给图片添加水印的方法,请参考:
有些时候,给图片添加水印了,在本机运行也都正常,但是发布到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的一些节点。都没问题的。后来帮同事调一个网页,由于时间比较久,回来后,电脑进入了睡眠状态,网络也断掉了,再次回去运行页面,居然正常显示了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通