IIS与sxd的问题解决方法步骤

问题:

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而服务器则不能。
FTP

原因:

首先要清楚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’);//–>

扫描二维码关注公众号,回复: 5077584 查看本文章

往上看会找到

<scriptsrc="/WebResource.axd?d=p8QWZ5nrxhDrOm_Cj7Ze6djvsLMks6CAWxBLdMEw2JM1&t=633386292203125000"type=“text/javascript”>

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

解决:

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

猜你喜欢

转载自www.cnblogs.com/03ngnntds/p/10323202.html