IIS与axd

问题:

ASP.NET网站中用到一个FlashUpload上传控件,在本地IIS和别人机子上测试都能正常使用,但放到服务器上Flash就不能正常显示了,查看控件生成的html代码,有下面的一段:

vlaue="/WebResource.axd?d=GvoIQ70Gti0xmxaNwXnzK1tIaZtYgTTvW_fywzsjWOGckn0x_7_oFMxxl7xedHRP0&t=633752332420000000"

这个是指定Flash文件的路径,因为Flash文件是嵌入控件DLL文件中的,因此要使用WebResource.axd来访问这个资源。根据网上的说明,可以使用HostName + WebResource URL的方式来访问这个资源,我分别在本机和服务器上做了实验,发现本地IIS能正常显示Flash而服务器则不能。

 

原因:

首先要清楚WebResource.axd是什么。。。根据MSDN和网上的说明,WebResource.axd是在Web.config文件中定义的一个httpHandler,默认情况下是在.net framework安装位置CONFIG文件夹下的web.config中定义的。也就是说WebResource.axd并不是个实际存在的文件,而是通过动态调用由它来提取assembly中的WEB资源。但如果IIS中并未定义.axd文件的映射或者在定义的地方勾选了”检查文件是否存在“,这都会导致WebResource.axd不能正常使用。当使用this.textbox1.Focus()方法使文本框自动获取焦点时,也会在客户端html代码中产生调用assembly中javascript代码的语句,也就肯定会用到WebResource.axd 了,这时候的典型状况就是在IE状态栏左下角出现黄色惊叹号,点击后弹出

缺少对象

 

查看网页源代码找到122行会看到

<script type="text/javascript">
<!--
WebForm_AutoFocus('tbxName');// -->
</script>

往上看会找到

<script src="/WebResource.axd?d=p8QWZ5nrxhDrOm_Cj7Ze6djvsLMks6CAWxBLdMEw2JM1&amp;t=633386292203125000" type="text/javascript"></script>

原因和前面的描述是一样的。

 

解决:

查看IIS的配置(如果不是本地就得联系空间服务商),在应用程序配置中查找.axd映射,如果没有就新建,映射路径和.aspx一样,注意不要勾选”检查文件是否存在“,确定后测试下效果。如果已存在映射就检查下路径是否正确以及有没有勾选”检查文件是否存在“,问题应该能够解决。

IIS中axd配置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值