如何解决Silverlight集成到IIS无法显示页面问题

当我们使用Http方式新建站点时,IIS的默认配置无法显示Silverlight。


主要原因是因为浏览器无法下载.xap文件,因为IIS的默认配置不支持.xap的mime-type。
可以尝试手动下载.xap文件,在浏览器中输入
http://<hostName>/<projectName>/<silverlightLinkFolder>/ClientBin/<silverlightProjectName>.xap
例如:http://localhost/WebSample/ClientBin/SilverlightSample.xap,
我发现会出现“无法找到该页”页面,无法下载xap文件

解决方法:
1、将.xap加入IIS mime-type配置中;
2、将.xap文件重命名为.zip文件;
3、使用 IHttpHandler 接口输出文件;

方法1:个人认为支持某些功能修改IIS配置是一个不好习惯,如果在使用远程虚拟空间时,将变得很被动。
方法2:在调试时比较麻烦,因为每次生成项目时需要重命名。
方法3:
首先实现IHttpHandler
using System.IO;

/// <summary>
/// Summary description for SilverlightXapHandler
/// </summary>

public class SilverlightXapHandler : IHttpHandler
{
    
public SilverlightXapHandler()
    
{
    }


    
protected String XapFile
    
{
        
get return @"ClientBin\SilverlightSample.xap"; }
    }



    
IHttpHandler Members
}

在web.config配置文件 <httpHandlers> 节点加入
<add verb="*" path="ClientBin/SilverlightSample.aspx" type="SilverlightXapHandler"/>

修改Silverlight显示页面连接




posted @ 2008-03-09 01:58  wanggh  阅读(4420)  评论(5编辑  收藏  举报