部署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/x-silverlight-app
这些就是你所有需要做的。但是具体到如何为不同的web服务器添加MIME类型,实际因web服务的不同而不同,下面列出了目前流行的一些web服务器和他们的链接,你可以从哪里找到如何配置和更多的信息:
Apache (2.0, 1.3)
IIS (7 / 6.0 / 5.0 / 4.0)
lighttpd
Sun Java System Web Server
当你在更新所支持的MIME类型的时候,或许还想添加相关的类型,如WPF和ClickOne应用程序的支持,那么还需要添加下表中的MIME类型:
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
但是如果你的web服务器在一个你不能修改其配置的共享的服务器上,那么你可以通过修改XAP文件成web服务器已支持的MIME类型来“欺骗”服务器,从而支持xap文件。XAP文件实际上是基于zip压缩的,所以可以直接把.XAP给成.ZIP,并在HTML中把Silverlight对象的source参数指到新的文件目录即可。这里有一个示例(点击这里查看),通过查看网页源代码你可以看到这项技术的实质——它就是指向一个zip压缩文件(里面包含Silverlight内容的)的纯HTML页面。
最后有一个好消息是,随Windows Server 2008发布的IIS 7.0默认已经支持了以上的WPF和Silverlight的MIME类型,包括.xap和.xaml类型扩展。所以如果你使用Windows Server 2008,就已经万事大全,只欠东风了。(另外,对于Vista,不论是全新的安装Vista SP1还是从Vista SP1 RTM升级到SP1 Release,你的IIS的配置只有在先卸载IIS功能在重新安装IIS才会更新。)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这段内容详细介绍了如何在不同的Web服务器上部署Silverlight应用,包括为服务器添加必要的MIME类型以确保.xaml和.xap文件能够被正确识别和处理。虽然您的问题似乎与直接的阿里云产品帮助不太相关,但基于您提到的内容,我可以提供一些关于如何在阿里云的OSS(对象存储服务)或ECS(弹性计算服务)实例上部署类似静态资源的一般性指导。
上传文件:首先,将您的Silverlight应用相关的.xap
、.xaml
以及其他必要文件上传至阿里云OSS bucket中。
配置MIME类型:在OSS管理控制台,您可以为特定的文件后缀自定义MIME类型。按照上述列表,为.xaml
和.xap
设置正确的MIME类型。这可以通过OSS的“元数据”功能实现,在上传文件时或之后通过修改元数据来指定MIME类型。
访问控制与URL:确保文件的访问权限设置正确,以便通过互联网访问。然后,使用OSS提供的URL直接访问或嵌入到网页中。
如果您选择在阿里云ECS实例上部署Web服务器(如Apache或Nginx),步骤如下:
安装并配置Web服务器:根据您选择的Web服务器软件(例如Apache或Nginx),在ECS实例上安装并进行基础配置。
添加MIME类型:按照您提供的信息,编辑Web服务器的配置文件以添加相应的MIME类型支持。例如,在Apache中,您需要编辑httpd.conf
或.htaccess
文件;在Nginx中,则是编辑nginx.conf
。
部署应用:将Silverlight应用文件上传至ECS实例,并在Web服务器的根目录或指定目录下配置好访问路径。
测试访问:启动Web服务器,通过浏览器访问应用的URL,确认Silverlight应用可以正常加载和运行。
希望这些信息对您有所帮助!如果有更具体的阿里云产品操作疑问,欢迎继续提问。