部署Silverlight到产品Web服务器是一个相当容易的过程尽管有时候会有一些错觉——譬如认为Silverlight需要部署在基于微软的Web服务器(IIS)上事实上 Silverlight不强制一定部署在基于微软的Web服务器上Apache也可以像IIS一样轻松愉快的支持Silverlight运行
但是还是要那么一点东东要指出来Web服务器通常都只支持有限种已知扩展名的静态文件内容看起来都很好但是Silverlight引入了两个新的文件扩展(xaml为松散XAML文件xap为基于zip压缩的二进制包格式文件)因此你需要为web服务器添加MIME类型这样才能让Web服务器识别并处理那些类型的文件下面列出了你需要添加到Web服务器的MIME类型
Extension MIME Type
xaml application/xaml+xml
xap application/xsilverlightapp
这些就是你所有需要做的但是具体到如何为不同的web服务器添加MIME类型实际因web服务的不同而不同下面列出了目前流行的一些web服务器和他们的链接你可以从哪里找到如何配置和更多的信息
Apache (
)
IIS ( / / / )
lighttpd
Sun Java System Web Server
当你在更新所支持的MIME类型的时候或许还想添加相关的类型如WPF和ClickOne应用程序的支持那么还需要添加下表中的MIME类型
Extension MIME Type
manifest application/manifest
application application/xmsapplication
xbap application/xmsxbap
deploy application/octetstream
xps application/vndmsxpsdocument
但是如果你的web服务器在一个你不能修改其配置的共享的服务器上那么你可以通过修改XAP文件成web服务器已支持的MIME类型来欺骗服务器从而支持xap文件XAP文件实际上是基于zip压缩的所以可以直接把XAP给成ZIP并在HTML中把Silverlight对象的source参数指到新的文件目录即可这里有一个示例(点击这里查看)通过查看网页源代码你可以看到这项技术的实质——它就是指向一个zip压缩文件(里面包含Silverlight内容的)的纯HTML页面
最后有一个好消息是随Windows Server 发布的IIS 默认已经支持了以上的WPF和Silverlight的MIME类型包括xap和xaml类型扩展所以如果你使用Windows Server 就已经万事大全只欠东风了(另外对于Vista不论是全新的安装Vista SP还是从Vista SP RTM升级到SP Release你的IIS的配置只有在先卸载IIS功能在重新安装IIS才会更新