`

Silverlight3系列(九)Silverlight 及其相关技术简介

阅读更多

1、Silverlight应用类型

  •RIA Rich Internet Applications

  •是一种具有近似于传统桌面应用软件系统功能和特性的网络应用系统。RIA系统最大的特点是将大部分处理任务都从用户界面端移植到客户端,仅保留一些必要数据与服务器端进行信息交互。

  •RIA系统的特性:–运行于浏览器中,不需要额外安装支持软件 –在本地运行时,受安全沙箱全程保护。

2、Silverlight中的ABC

  •<endpoint address="" binding="basicHttpBinding" contract="WcfService.IServiceCustomer">

  •A address  访问地址

  •B basicHttpBinding 绑定协议(目前就支持这一种)•C contract 契约

3、常用控件使用

  •Silverlight控件应用开发

4、契约

  服务契约 ServiceContract
  操作契约 OperationContract

代码
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->
[ServiceContract]
public interface IServiceCustomer
{
[OperationContract]
Domain.Server. Customer GetCustomer(SysUser user,
int customerId);
[OperationContract]
IList
<Domain.Server.Customer> GetAll(SysUser user);
[OperationContract]
void Add(SysUser user,Domain.Server.Customer customer);
[OperationContract]
string SayHello(SysUser sysUser);
}

 

  •数据契约 DataContract

  •成员契约 DataMember

 

代码
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->[DataContract]
public class Customer
{
private int _intCustomerId;
private string _strCustomerName;
[DataMember]
public virtual int CustomerId
{
get { return this._intCustomerId; }
set { this._intCustomerId = value; }
}
[DataMember]
public virtual string CustomerName
{
get { return this._strCustomerName; }
set { this._strCustomerName = value; }
}
}

 

5、序列化

  •序列化的目的就是把一种私有的或者某种平台下使用的数据类型转化为标准的可以公开交互的数据信息样式。这个过程就叫序列化。序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。

  • 序列化就是把本地消息或者数据的类型进行封送,转换为标准的可以跨平台、语言的信息集,为别的系统或者服务所用。

6、Silverlight 应用程序中XAP文件

  •XAP文件是Silverlight 应用程序编译打包后的一个文件,它是一个标准的zip压缩文件,包括了Silverlight 应用程序所需的一切文件,如程序集、资源文件等。

  •客户端访问sl网站之后会下载到客户端

  •可以动态加载

  •体积优化

  •Assembly Caching

7、Silverlight中的离线存储

  •离线存储 Isolated Storage

  •关于 Silverlight3 的离线模式

  •高级编程 chapter18

  •详解Silverlight 2中的独立存储(Isolated Storage

  •独立存储(Isolated Storage)是Silverlight 2中提供的一个客户端安全的存储,它是一个与Cookie机制类似的局部信任机制。独立存储机制的APIs 提供了一个虚拟的文件系统和可以访问这个虚拟文件系统的数据流对象。Silverlight中的独立存储是基于 .NET Framework中的独立存储来建立的,所以它仅仅是.NET Framework中独立存储的一个子集。

  •Silverlight中的独立存储有以下一些特征: –每个基于Silverlight的应用程序都被分配了属于它自己的一部分存储空间, 但是应用程序中的程序集却是在存储空间中共享的。一个应用程序被服务器赋给了一个唯一的固定的标识值。基于Silverlight的应用程序的虚拟文件系统现在就以一个标识值的方式来访问了。这个标识值必须是一个常量,这样每次应用程序运行时才可以找到这个共享的位置。   –独立存储的APIs 其实和其它的文件操作APIs类似,比如 File 和 Directory 这些用来访问和维护文件或文件夹的类。 它们都是基于FileStream APIs 来维护文件的内容的。 –独立存储严格的限制了应用程序可以存储的数据的大小,目前的上限是每个应用程序为1 MB。 –在SL3中增大为25MB

8、SL3的独立存储

  •Silverlight 3 提供了强大的离线模式,通过离线模式,你可以获得如下益处:

  •增加用户访问应用的粘度
通过提供离线的模式,增加用户对应用的粘。

  •提供离线体验
可以提供无需网络的应用体验。

  •运行于安全沙箱
通过沙箱机制,提供更加可靠的安全浏览体验。

  •不需要管理员权限 更加灵活的安装。

  •独立存储空间(Isolated Storage)更大

提供 25M 的默认独立存储空间。

  •网络状态支持
提供对网络状态变化的事件响应支持。

  •自动升级
自动检测服务器应用的更新状态,即时更新应用。 在线、离线状态定制
可根据在线、离线状态调用不同 UI

9、数据绑定

  •绑定一个对象

  •2、双向绑定

  •3、绑定服务

  •4、绑定集合 –ItemsSource –DisplayMemberPath –ItemTemplate –ItemsPanel

  •5、数据格式转换

  •Silverlight3高级编程 Chapter 16

10、数据验证

  •ValidatesOnException

  •2、NotifyOnValidationError

  •3、Validation Class 验证类

  •4、Input Validation输入验证

  •Silverlight3高级编程 P548-P553

  •技巧:在Silverlight应用程序中进行数据验证 Silverlight3系列(六)数据验证 Data Validation

11、数据库的三种交互方式比较


12、知识点:版本

  •RTM版是最终压盘版,Release To Manufacturing,也就是交付给光盘制作厂商,这和最终发布版一样。发布RTM后,厂商若要修改就只有通过发布SP来完成了。

  •RC版是发布候选版,Release Candidate,一般是RTM版本前的几个预览版,但是这个阶段来说基本功能已经完成,主要是用来捉bug了,所以发布RC后,基本功能不会有大的变化了,只要各种测试能够通过,这也表明最终发布不远了。

  •CTP是社群技术预览版,Community Technology Preview,这个版本只是用来在社区内发布,验证市场情况和用户认可度,早于RC版,就像Atlas,在发布了多个CTP后,突然剑峰一转,变为了ASP.NET AJAX,所以说CTP版本不一定可靠,可能在功能上都会有大的变化。

13、整体架构

14、好处

  •可以分层开发,不用每个人从底层写到上层,集中精力,精益求精,方便后期优化

  •中间层可插拔,中间层可以优化,可扩展性

  •ORM

  •增加可测试性

15、WCF

  •WCF全称Windows Communication Foundation,是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分。

  •WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如Enterprise Sevices(COM+)、.Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。

16、WCF身份验证机制

17、WCF Transfer的安全模式

18、WCF安全模式与绑定协议

绑定/安全模式

None

Transport

Message

Mixed

Both

BasicHttpBinding

Yes(default)

Yes

Yes

Yes

No

NetTcpBinding

Yes

Yes(default)

Yes

Yes

No

NetPeerTcpBinding

Yes

Yes(default)

Yes

Yes

No

NetNamedPipeBinding

Yes

Yes(default)

No

No

No

WSHttpBinding

Yes

Yes

Yes(default)

Yes

No

WSFederationHttpBinding

Yes

No

Yes(default)

Yes

No

WSDualHttpBinding

Yes

No

Yes(default)

No

No

NetMsmqBinding

yes

Yes(default)

Yes

No

Yes

Silverlight和WCF通信的绑定协议目前只支持BasicHttpBinding

19、Transport安全模式与客户端凭据

绑定/安全模式

None

Windows

Username

Certificate

BasicHttpBinding

Yes(default)

Yes

Yes

Yes

NetTcpBinding

Yes

Yes(default)

No

Yes

NetPeerTcpBinding

No

No

Yes(default)

Yes

NetNamedPipeBinding

No

Yes(default)

No

No

WSHttpBinding

Yes

Yes(default)

Yes

Yes

WSFederationHttpBinding

N/A

N/A

N/a

N/A

WSDualHttpBinding

N/A

N/A

N/A

N/A

NetMsmqBinding

Yes

Yes(default)

No

Yes

20、消息安全模式与客户端凭据

绑定/安全模式

None

Windows

Username

Certificate

Issued token

BasicHttpBinding

No

No

Yes

Yes

No

NetTcpBinding

Yes

Yes(default)

Yes

Yes

Yes

NetPeerTcpBinding

N/A

N/A

N/A

N/A

N/A

NetNamedPipeBinding

N/A

N/A

N/A

N/A

N/A

WSHttpBinding

Yes

Yes(default)

Yes

Yes

Yes

WSFederationHttpBinding

N/A

N/A

N/A

N/A

N/A

WSDualHttpBinding

Yes

Yes(default)

Yes

Yes

Yes

NetMsmqBinding

yes

Yes(default)

Yes

Yes

Yes

21、安全

  •传输安全 https <security mode="Transport">

  •消息安全 username/pw-combination

    –No authentication.

    –Authentication through method parameters

    –Authentication through message headers

    –Authentication through message headers by implementing an operation behavior. Every method decorated with this attribute will automatically perform username/pw authentication.

22、Web.config中的WCF安全配置

• <bindings >

•      <basicHttpBinding >

•        <binding>       

•          <security mode="TransportCredentialOnly">

•            <transport clientCredentialType="None"/>

•            <message clientCredentialType="UserName"/>

•          </security>

•        </binding>

•      </basicHttpBinding>

•    </bindings>

23、开发分工

  •横向分层发开

24、有用的连接

  •Silverlight客户端和WCF服务器端共享类

  •Silverlight 3 - MultiThreading编程

  •Silverlight 3 高级编程 Chapter 19 MultiThreading

 

下面是原文的PPT下载:Silverlight数据通信.pptx

 

分享到:
评论

相关推荐

    Silverlight 及其相关技术简介

    Silverlight 及其相关技术简介

    一步一步学Silverlight 2系列

    Silverlight 2系列(24):与浏览器交互相关辅助方法 Silverlight 2系列(23):Silverlight与HTML混合之无窗口模式 Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码 Silverlight 2系列(21...

    一步一步学Silverlight_2系列

    Silverlight 2系列(24):与浏览器交互相关辅助方法 Silverlight 2系列(23):Silverlight与HTML混合之无窗口模式 Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码 Silverlight 2系列(21...

    silverlight 资料及其code

    silverlight 资料及其codesilverlight 资料及其codesilverlight 资料及其code

    silverlight 3D

    silverlight3D实例

    SilverLight入门系列教程-1

    SilverLight入门系列教程,本教程共计23课时。

    C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial 前38节)

    C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(九)2D游戏角色在地图上的移动 C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十)斜度α地图的构造及算法 C#开发WPF/Silverlight动画及...

    用silverlight3D效果

    要想看用silverlight技术做的3D效果就下载吧

    SilverLight3

    SilverLight3的好教材,错过会后悔!!

    Silverlight 3 Tools文件下载

    Silverlight 3 Tools文件下载,安装VS2008 SP1补丁后需要安装Silverlight的SDK文件。

    Silverlight技术

    了解Silverlight技术的优势及开发环境 使用XAML开发用户控件 绘制简单的矢量图和几何图形 Silverlight通过WCF、WebService进行通信 Silverlight使用Socket通信 编写Form/To/By动画 编写制作关键帧动画 Silverlight中...

    Silverlight简介

    Silverlight技术入门简介 PPT文档 讲述内容:(Agenda) Silverlight 是什么? Silverlight 可以做什么? Silverlight 为什么选择它? Silverlight 最佳实践 Silverlight 开发环境搭建 Silverlight 学习资源 Q&A

    App3-Silverlight2系列5

    App3-Silverlight2系列5

    silverlight 3d 引擎

    silverlight5 3d 引擎 加载3d模型 新特性GPU 加速

    silverlight技术应用实例

    一个很不错的silverlight技术应用程序,功能比较完整,特效不错,不下别后悔哦!

    Microsoft Silverlight 技术实现的3D示例

    Microsoft Silverlight是微软所发展的 Web 前端应用程序开发解决方案,是微软丰富型互联网应用程序(Rich Internet Application)策略的主要应用程序开发平台之一,以浏览器的外挂组件方式,提供 Web 应用程序中...

    Silverlight视频分享点播系统

    3.Silverlight多媒体 4.Silverlight通过WCF与数据库通信 5.Silverlight利用LINQ操作数据库 6.Silverlight控件布局 7.Silverlight数据绑定技术 8.Silverlight事件处理 9.Silverlight控件样式和控件模板 10....

Global site tag (gtag.js) - Google Analytics