首页 > 网站 > IIS > 正文

关于IIS与sxd的问题解决方法

2024-08-29 03:10:31
字体:
来源:转载
供稿:网友
  问题:
 
  ASP.NET网站中用到一个FlashUpload上传控件,在本地IIS和别人机子上测试都能正常使用,但放到服务器上Flash就不能正常显示了,查看控件生成的html代码,有下面的一段:
 
  vlaue="/WebResource.axd?d=GvoIQ70Gti0xmxaNwXnzK1tIaZtYgTTvW_fywzsjWOGckn0x_7_oFMxxl7xedHRP0&t=633752332420000000"
 
  这个是指定Flash文件的路径,因为Flash文件是嵌入控件DLL文件中的,因此要使用WebResource.axd来访问这个资源。根据网上的说明,可以使用HostName+WebResourceURL的方式来访问这个资源,我分别在本机和服务器上做了实验,发现本地IIS能正常显示Flash而服务器则不能。
 
  原因:
 
  首先要清楚WebResource.axd是什么。。。根据MSDN和网上的说明,WebResource.axd是在Web.config文件中定义的一个httpHandler,默认情况下是在.netframework安装位置CONFIG文件夹下的web.config中定义的。也就是说WebResource.axd并不是个实际存在的文件,而是通过动态调用由它来提取assembly中的WEB资源。但如果IIS中并未定义.axd文件的映射或者在定义的地方勾选了”检查文件是否存在“,这都会导致WebResource.axd不能正常使用。当使用this.textbox1.Focus()方法使文本框自动获取焦点时,也会在客户端html代码中产生调用assembly中javascript代码的语句,也就肯定会用到WebResource.axd了,这时候的典型状况就是在IE状态栏左下角出现黄色惊叹号,点击后弹出
 
  缺少对象
 
  查看网页源代码找到122行会看到
 
  <scripttype="text/javascript">
 
  <!--
 
  WebForm_AutoFocus('tbxName');//-->
 
  </script>
 
  往上看会找到
 
  <scriptsrc="/WebResource.axd?d=p8QWZ5nrxhDrOm_Cj7Ze6djvsLMks6CAWxBLdMEw2JM1&amp;t=633386292203125000"type="text/javascript"></script>
 
  原因和前面的描述是一样的。
 
  解决:
 
  查看IIS的配置(如果不是本地就得联系空间服务商),在应用程序配置中查找.axd映射,如果没有就新建,映射路径和.aspx一样,注意不要勾选”检查文件是否存在“,确定后测试下效果。如果已存在映射就检查下路径是否正确以及有没有勾选”检查文件是否存在“,问题应该能够解决。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表