当开发完Silverlight 2的应用程序后,需要进行部署,比起以前版本的Silverlight,Silverlight 2应用程序的部署非常简单了。下面就是简单的部署过程:
1,由于Silverlight 2将所有的生成文件进行了ZIP打包,生成xap(读作:zap),因此,如果在IIS6以上版本部署,需要将这个新的扩展名在MIME Type里进行注册,方法是:
打开IIS->站点属性->HTTP头->MIME类型->新建: 扩展名:.xap MIME类型:application/x-silverlight
当然,也可以将下面的这个扩展名加进去 扩展名:.xaml MIME类型:application/xaml+xml
2,如果是在ASP.NET Web网站或者Web应用程序里部署,只需要下面几个步骤:
1),在页面前面加入一个注册(以后的正式版可能不再需要这些): <%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls" TagPrefix="asp" %>
2),加入 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>控件 3),将所有xap文件放在下面的控件里: <asp:Silverlight ID="Silverlight1" runat="server" Height="300px" Source="~/ClientBin/SilverlightApplication1.xap" Width="400px" />
下面就是一个完整的例子:
<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls" TagPrefix="asp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" style="height: 100%;"> <head runat="server"> <title>Silverlight 2应用程序部署页面</title> </head> <body style="height: 100%; margin: 0;"> <form id="form1" runat="server" style="height: 100%;"> <table> <tr> <td> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/SilverlightApplication1.xap" Version="2.0" Width="400px" Height="300px" /> </td> <td> <asp:Silverlight ID="Silverlight1" runat="server" Height="300px" Source="~/ClientBin/SilverlightApplication1.xap" Width="400px" /> </td> </tr> </table> </form> </body> </html>
3,如果是html页面,可以采用ActiveX的方法,在页面中放入object标签,设置相应的属性即可,具体格式:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html > <head> <script type="text/javascript"> function onErrorHandler(sender, args) { } function onResizeHandler(sender, args) { } </script> </head> <body> <div id="silverlightControlHost"> <object id="SilverlightPlugInID" data="data:application/x-silverlight," type="application/x-silverlight" width="100%" height="100%"> <param name="source" value=" SilverlightApplication1.xap" /> <param name="onError" value="onErrorHandler" /> <param name="onResize" value="onResizeHandler" /> </object> <iframe style='visibility: hidden; height: 0; width: 0; border: 0px'></iframe> </body> </html>
下面这些属性是实现跨浏览器必须的一些属性:
• id、data、 type、 width和height属性; • source、onError和onResize参数 • <iframe>标签
有些属性和参数是Silverlight插件控制实例化和脚本编程所必需的,这些强制的属性和参数是使用<object>标签确保跨浏览器正确显示所必需的最小配置参数。
必须的属性:
|
属性名称
|
说明
|
|
id
|
HTML DOM中插件实例的名称
|
|
data
|
简化实例化过程,这个属性是必须的,推荐设置为Silverlight应用程序的MIME类型:data:application/silverlight
|
|
type
|
设置加载Silverlight插件的版本的MIME类型。目前有2种版本:
Silverlight 1.0:application/x-silverlight
Silverlight 2 Beta 1:application/x-silverlight-2-b1
|
|
height
|
设置Silverlight程序显示区域的高度,设置为整数值或者百分比的格式
|
|
width
|
设置Silverlight程序显示区域的宽度,设置为整数值或者百分比的格式
|
必须的参数:
|
参数名称
|
说明
|
|
Source
|
指定源文件位置的URI,默认为null
|
必须的事件:
|
参数
|
描述
|
|
onError
|
Silverlight运行时组件发生错误是触发,这个错误可以是内部代码的产生,也可以是用户的代码产生的
|
|
onResize
|
当Silverlight插件的 ActualHeight 或 ActualWidth属性发生改变时触发。
|
可选参数:
|
参数/ 属性
|
描述
|
| background |
插件背景颜色,默认值为null,等同于White (ARGB 值为 #FFFFFFFF)
|
| enableHtmlAccess |
设置是否允许Silverlight插件的内容访问HTML DOM true表示允许,false表示禁止。
|
| initParams |
设置Silverlight对象模型内访问的参数信息
|
| maxFramerate |
整数值,设置展现引擎使用的帧速。默认是60,上限大学依赖于系统加载和处理能力
|
| splashScreenSource |
应用程序在加载的过程中显示的正在加载内容(比如显示进度或者显示正在加载)
|
| windowless |
插件以窗口形式还是以无窗口形式呈现。默认是false。只在Microsoft Windows系统中有效,
|
|
onLoad
|
插件成功加载时触发
|
| onSourceDownloadComplete |
source属性指定的Silverlight应用程序下载完毕后触发
|
| onSourceDownloadProgressChanged |
source属性指定的Silverlight应用程序下载过程中触发
|
可选的测试参数:
| 参数/属性 |
描述 |
| enableRedrawRegions |
设置插件显示的每一帧是否重画 |
| enableFramerateCounter |
设置是否在浏览器状态条中显示加载帧的计数。只在Microsoft Windows Internet Explorer浏览器支持 |
|