色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Silverlight 2應(yīng)用程序中XAP文件揭秘

概述

XAP文件是Silverlight 2應(yīng)用程序編譯打包后的一個(gè)文件,它是一個(gè)標(biāo)準(zhǔn)的zip壓縮文件,包括了Silverlight 2應(yīng)用程序所需的一切文件,如程序集、資源文件等。

本文將對(duì)Silverlight中的XAP文件進(jìn)行詳細(xì)的說(shuō)明。

XAP文件是什么

XAP文件是Silverlight 2應(yīng)用程序編譯打包后的一個(gè)文件,包括了Silverlight 2應(yīng)用程序所需的一切文件,如程序集、資源文件等。這里的xap并沒(méi)有任何特殊的意義,僅僅是Silverlight 2應(yīng)用程序編譯后生成文件的擴(kuò)展名而已,本質(zhì)上它是一個(gè)標(biāo)準(zhǔn)的zip壓縮文件。我們可以修改.xap文件后綴為.zip文件,并用解壓縮工具打開,可以看到其中包含的文件:

TerryLee_0113

如何使用XAP文件

xap文件的使用想必大家都已經(jīng)熟知了,在ASP.NET頁(yè)面中,我們可以使用Silverlight Control來(lái)引用xap文件,如下代碼所示:

TerryLee_0114

注意Silverlight控件依賴于ScriptManager,因此在ASP.NET頁(yè)面上必須要有一個(gè)ScriptManager控件。在HTML頁(yè)面(或者php、JSP等)中,我們可以使用如下的方式:

TerryLee_0115

這里的type="application/x-silverlight-2-b2" 指定了當(dāng)前版本為Silverlight 2 Beta 2,后面的超鏈接指定了當(dāng)用戶的機(jī)器上沒(méi)有安裝Silverlight 2插件時(shí)的下載地址及顯示的圖片。

XAP文件如何執(zhí)行

一旦我們引用了一個(gè)xap文件,在應(yīng)用程序運(yùn)行時(shí)Silverlight插件將會(huì)下載該xap文件并在一個(gè)獨(dú)立的子窗口中運(yùn)行,如下圖所示:

TerryLee_0117

XAP文件包含什么

在本文一開始我們就說(shuō),XAP文件包含了Silverlight 2應(yīng)用程序所需的一切文件,如程序集、資源文件等,但它至少會(huì)包含兩個(gè)文件,一個(gè)是當(dāng)前Silverlight應(yīng)用程序的程序集,另一個(gè)是AppManifest.xaml文件。AppManifest.xaml文件相當(dāng)于是一個(gè)清單(類似于庫(kù)存單一樣),如下代碼所示:

<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"            EntryPointAssembly="XapFileExplain"            EntryPointType="XapFileExplain.App"            RuntimeVersion="2.0.30523.6">  <Deployment.Parts>    <AssemblyPart x:Name="XapFileExplain" Source="XapFileExplain.dll" />  </Deployment.Parts></Deployment>

它至少包括了如下幾個(gè)方面的信息:

1.應(yīng)用程序入口點(diǎn)的程序集

2.應(yīng)用程序入口點(diǎn)的類型

3.應(yīng)用程序運(yùn)行時(shí)的版本

4.應(yīng)用程序相關(guān)的所有程序集

XAP文件如何生成

XAP文件在Silverlight項(xiàng)目編譯時(shí)由開發(fā)環(huán)境自動(dòng)生成,一般情況下,不需要我們手工進(jìn)行控制。這里大家可能會(huì)想到一個(gè)問(wèn)題,如果打包在XAP文件中的程序集過(guò)多,會(huì)造成文件體積變大,有些程序集雖然我們?cè)诔绦蛑杏玫搅耍⒉皇且幌螺dXAP文件就要用到,可能是某一特定的時(shí)刻才會(huì)用,那這樣可不可以只打包一些必須的程序集,而其它的在需要時(shí)再下載呢?答案自然是肯定的。

如我們程序中用到了System.Windows.Controls.Extended程序集,但我們又不想它打包在xap文件中,該如何做呢?可以通過(guò)設(shè)置程序集屬性來(lái)實(shí)現(xiàn),如下圖所示:

TerryLee_0118

我們可以設(shè)置程序集的Copy Local屬性為False,這樣該程序集將不會(huì)打包在XAP文件中,等需要時(shí)我們可以在手工進(jìn)行下載,如使用WebClient進(jìn)行下載等。

總結(jié)

本文詳細(xì)介紹了Silverlight 2中的XAP文件,希望對(duì)大家有用。

NET技術(shù)Silverlight 2應(yīng)用程序中XAP文件揭秘,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 邓州市| 吉隆县| 柘荣县| 镇康县| 公主岭市| 资溪县| 黎川县| 阜新| 含山县| 永安市| 平乡县| 古蔺县| 平昌县| 张家港市| 远安县| 汉源县| 东乡| 保德县| 平昌县| 花垣县| 读书| 福贡县| 永康市| 穆棱市| 顺义区| 都安| 紫金县| 曲麻莱县| 德州市| 仪征市| 达州市| 颍上县| 玛曲县| 平果县| 闻喜县| 承德县| 安远县| 伊吾县| 若羌县| 瓮安县| 唐河县|