Silverlight Web相關應用技巧分享
對于一個經驗豐富的開發人員來說,他們不可能不知道Silverlight這款基于多媒體處理的開發工具。它可以使我們輕松的實現各種多媒體功能實現。#t#
Silverlight Web服務器的部署是一個相當容易的過程,盡管有時候會有一些錯覺——譬如,認為Silverlight需要部署在基于微軟的Web服務器(IIS)上,事實上, Silverlight不強制一定部署在基于微軟的Web服務器上,Apache也可以像IIS一樣,輕松愉快的支持Silverlight運行。
但是還是要那么一點東東要指出來: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服務的不同而不同,下面列出了目前流行的一些Silverlight 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
但是如果你的Silverlight 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才會更新。)