[翻译]Configuring a Web Server to Host Silverlight Content
星期三, 03月 19th, 2008把Silverlight内容部署到一部生产用的Web服务器上相当简单。尽管人们偶尔存在误解认为部署Silverlight需要基于微软技术的Web服务器,但事实并非如此:Apache作Silverlight主机能做得像IIS一样好。
但是还有个小问题:Web服务器通常只支持有限的一些文件扩展名作为静态内容。那样很好,但是Silverlight包含了2种新的文件扩展名(.xaml为loose XAML文件和.xap为基于zip的二进制包格式)。因此,你需要为这些文件扩展名添加MIME类型以便你的Web服务器能正常识别出Silverlight内容。
| Extension | MIME Type |
| .xaml | application/xaml+xml |
| .xap | application/x-silverlight-app |
你只需这样做。但不幸的是,它并没有给出添加MIME类型的通用的方法,因为服务器各不相同,以下是一些常用Web服务器的链接:
当你更新了服务器的MIME类型后,你可能需要继续添加相关类型以便你的服务器能够支持WPF和ClickOnce应用程序。以下是一些你需要的附加项:
| Extension | MIME Type |
| .manifest | application/manifest |
| .application | application/x-ms-application |
| .xbap | application/x-ms-xbap |
| .deploy | application/octet-stream |
| .xps | application/vnd.ms-xpsdocument |
但是如果你要把Silverlight部署在共享的主机服务或者你不能连接你的主机改变设置时该怎样做呢?好消息是此时有两种选择供你选择,显然你可以选择Silverlight Streaming,我们的免费主机服务,可提供10GB的Silverlight内容上限。
或者,你可以通过重命名XAP为可用的文件扩展名来“欺骗”Web服务器。XAP容器是基于ZIP格式的,因此你可以简单的把.xap改为.zip并且更改HTML文件中包含的对象标记。单击此链接,你可以看到怎样做。
最后一条好消息:包含在Windows Server 2008中的IIS 7已经原生支持WPF和Silverlight的MIME类型,包括.xap和.xaml扩展名,因此你正在使用Windows Server 2008,你解放了~(全新安装的Windows Vista SP1亦如此,但如果从RTM升级到SP1设置并未改变你需要卸载IIS并重新安装IIS组件)
P.S.我现在用的正是第二种方法,把xaml改为xml,同时在html中更改相关项~
