开发者社区 问答 正文

如何配置支持Silverlight的Web服务器

部署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才会更新。)

展开
收起
中南时代 2013-05-17 14:34:36 9663 分享 版权
阿里云 AI 助理回答

这段内容详细介绍了如何在不同的Web服务器上部署Silverlight应用,包括为服务器添加必要的MIME类型以确保.xaml和.xap文件能够被正确识别和处理。虽然您的问题似乎与直接的阿里云产品帮助不太相关,但基于您提到的内容,我可以提供一些关于如何在阿里云的OSS(对象存储服务)或ECS(弹性计算服务)实例上部署类似静态资源的一般性指导。

阿里云OSS部署Silverlight应用

  1. 上传文件:首先,将您的Silverlight应用相关的.xap.xaml以及其他必要文件上传至阿里云OSS bucket中。

  2. 配置MIME类型:在OSS管理控制台,您可以为特定的文件后缀自定义MIME类型。按照上述列表,为.xaml.xap设置正确的MIME类型。这可以通过OSS的“元数据”功能实现,在上传文件时或之后通过修改元数据来指定MIME类型。

  3. 访问控制与URL:确保文件的访问权限设置正确,以便通过互联网访问。然后,使用OSS提供的URL直接访问或嵌入到网页中。

阿里云ECS部署Silverlight应用

如果您选择在阿里云ECS实例上部署Web服务器(如Apache或Nginx),步骤如下:

  1. 安装并配置Web服务器:根据您选择的Web服务器软件(例如Apache或Nginx),在ECS实例上安装并进行基础配置。

  2. 添加MIME类型:按照您提供的信息,编辑Web服务器的配置文件以添加相应的MIME类型支持。例如,在Apache中,您需要编辑httpd.conf.htaccess文件;在Nginx中,则是编辑nginx.conf

  3. 部署应用:将Silverlight应用文件上传至ECS实例,并在Web服务器的根目录或指定目录下配置好访问路径。

  4. 测试访问:启动Web服务器,通过浏览器访问应用的URL,确认Silverlight应用可以正常加载和运行。

注意事项

  • 对于无法修改服务器配置的情况,虽然文中提到了一个变通方法(将.xap更改为.zip),但在阿里云环境中,推荐直接调整MIME类型设置,因为这种方法更为标准且不会导致潜在的混淆。
  • 如果您使用的是阿里云的其他托管服务,如函数计算等无服务器服务,可能需要采用不同的部署策略,具体取决于服务的支持情况和限制。

希望这些信息对您有所帮助!如果有更具体的阿里云产品操作疑问,欢迎继续提问。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答