设为首页 收藏本站
查看: 678|回复: 0

[经验分享] asp.net 发布到iis后验证码图像不显示

[复制链接]

尚未签到

发表于 2017-2-13 10:16:09 | 显示全部楼层 |阅读模式
  今天发布一个WEB项目到IIS后,发现网站内所有显示验证码的位置都显示不了,一个小红叉,好像图片不能显示的样子,但我的验证码用的最常用的那种,引用一个专门生成验证码的aspx页面,看了页面的地址也是对的,实在不解。

但这个项目以前发布上来验证码是正常的,唯一的区别就是以前是直接将项目所有文件都COPY到指定的IIS目录下,而这次用了VS自带的发布功能,看来问题就出在这了。于是我照以前的方法做了一次,真的OK,突然想到那个验证码页面是从其他项目直接拖过来用的,难道不兼容?检查了他的aspx代码,果然看到了一个不起眼的区别:CodeFile,突然想到以前曾经有过页面运行报错,后来改了这个就OK了,哎,再改吧,将CodeFile改为CodeBehind后,运行,可爱的验证码居然真的出来了。

看似毫不相关的问题居然联系在一起了,想想一般有两种情况会导致这个问题:
1、项目经过升级后,项目里的aspx页面的CodeFile没有改为CodeBehind;
2、项目里有旧版本VS编写的aspx页面(如果记是没错的话,VS2003用的就是CodeFile格式),那么需要手动将CodeFile改为CodeBehind。

上述两种情况都是基于使用VS自带的项目发布功能后发生的,如果你采用原始的全部COPY项目所有文件,则不会出现此问题,原因在于CodeFile意为指向对应的aspx.cs物理文件,而发布的时候如果选择”仅发布程序需要的文件“,则不会COPY所有cs文件,因此实际是找不到cs文件引起的验证码页面运行异常。而CodeBehind意为引用对应的类库,即只需生成的DLL即可工作,就这么简单。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-341370-1-1.html 上篇帖子: ASP.NET 3.5 要如何安裝在 IIS 5.0/6.0 中 下篇帖子: win7 iis部署memadmin -一款memcached可视化的监控web应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表