Silverlight Web相關(guān)應(yīng)用技巧分享
對(duì)于一個(gè)經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員來(lái)說(shuō),他們不可能不知道Silverlight這款基于多媒體處理的開(kāi)發(fā)工具。它可以使我們輕松的實(shí)現(xiàn)各種多媒體功能實(shí)現(xiàn)。#t#
Silverlight Web服務(wù)器的部署是一個(gè)相當(dāng)容易的過(guò)程,盡管有時(shí)候會(huì)有一些錯(cuò)覺(jué)——譬如,認(rèn)為Silverlight需要部署在基于微軟的Web服務(wù)器(IIS)上,事實(shí)上, Silverlight不強(qiáng)制一定部署在基于微軟的Web服務(wù)器上,Apache也可以像IIS一樣,輕松愉快的支持Silverlight運(yùn)行。
但是還是要那么一點(diǎn)東東要指出來(lái):Silverlight Web服務(wù)器通常都只支持有限種已知擴(kuò)展名的靜態(tài)文件內(nèi)容??雌饋?lái)都很好,但是Silverlight引入了兩個(gè)新的文件擴(kuò)展(.xaml為松散XAML文件;.xap為基于zip壓縮的二進(jìn)制包格式文件),因此,你需要為web服務(wù)器添加MIME類(lèi)型,這樣才能讓W(xué)eb服務(wù)器識(shí)別并處理那些類(lèi)型的文件。下面列出了你需要添加到Web服務(wù)器的MIME類(lèi)型:
- Extension MIME Type
- .xaml application/xaml+xml
- .xap application/x-silverlight-app
這些就是你所有需要做的。但是具體到如何為不同的web服務(wù)器添加MIME類(lèi)型,實(shí)際因web服務(wù)的不同而不同,下面列出了目前流行的一些Silverlight Web服務(wù)器和他們的鏈接,你可以從哪里找到如何配置和更多的信息:
- Apache (2.0, 1.3)
- IIS (7 / 6.0 / 5.0 / 4.0)
- lighttpd
- Sun Java System Web Server
當(dāng)你在更新所支持的MIME類(lèi)型的時(shí)候,或許還想添加相關(guān)的類(lèi)型,如WPF和ClickOne應(yīng)用程序的支持,那么還需要添加下表中的MIME類(lèi)型:
- 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服務(wù)器在一個(gè)你不能修改其配置的共享的服務(wù)器上,那么你可以通過(guò)修改XAP文件成web服務(wù)器已支持的MIME類(lèi)型來(lái)“欺騙”服務(wù)器,從而支持xap文件。XAP文件實(shí)際上是基于zip壓縮的,所以可以直接把.XAP給成.ZIP,并在HTML中把Silverlight對(duì)象的source參數(shù)指到新的文件目錄即可。這里有一個(gè)示例(點(diǎn)擊這里查看),通過(guò)查看網(wǎng)頁(yè)源代碼你可以看到這項(xiàng)技術(shù)的實(shí)質(zhì)——它就是指向一個(gè)zip壓縮文件(里面包含Silverlight內(nèi)容的)的純HTML頁(yè)面。
最后有一個(gè)好消息是,隨Windows Server 2008發(fā)布的IIS 7.0默認(rèn)已經(jīng)支持了以上的WPF和Silverlight的MIME類(lèi)型,包括.xap和.xaml類(lèi)型擴(kuò)展。所以如果你使用Windows Server 2008,就已經(jīng)萬(wàn)事大全,只欠東風(fēng)了。(另外,對(duì)于Vista,不論是全新的安裝Vista SP1還是從Vista SP1 RTM升級(jí)到SP1 Release,你的IIS的配置只有在先卸載IIS功能在重新安裝IIS才會(huì)更新。)