Silverlight 2学习教程(三)

当开发完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浏览器支持

 

原帖地址:http://blog.csdn.net/net_lover/archive/2008/04/06/2254267.aspx  感谢孟宪会老师

你可能感兴趣的:(浏览器,Microsoft,assembly,扩展,asp,silverlight)