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

这个问题也困扰了我好久,本地测试正常,放到IIS就不行。图片盗链也一样的情况。现在终于解决了。在此我要感谢,新浪博主: happyxyyt ,感谢360搜索引擎。之前一直用的是百度,一直都没搜到这篇优秀的文章。好,下面进入正题,以下都转载自:http://blog.sina.com.cn/s/blog_5a7775e30101c5mi.html

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

使用一般处理程序(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位应用程序相对应,如果这两个不一致,就会出现异常。

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

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

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

在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 @ 2013-10-17 11:21  武二郎  阅读(188)  评论(0编辑  收藏  举报