Silverlight交流
基于WCF的Silverlight绘图聊天程序实现

框 用 户 可 以输 入 聊 天 信 息 , 当用 户 单 击 “ 发送聊天信息” 按
钮后 , 用 户 的聊 天 信 息 将 在 所 有 的客 户 端 显 示 。 用 户 在 绘 图 区域 绘 图时 , 所 有使用该 S i l v e r l i g h t聊 天
程 序 的客 户 端 都 会 实 时 显 示 出 绘 图 笔 记 。 当有 新 用 户 登 录或 进 行 绘 图操 作 后 , 聊 天 室 底 部 的 状 态 栏 面 板 上 会 显 示
第1 4 卷 第6 期 2 0 1 5 年 6 月
软 件 导 刊
S of t wa r eNO .6 J u ne . 2O1 5
基于 WC F的 S i l v e r l i g h t绘 图 聊 天 程 序 实 现
邹 琚
( 苏州农 业职业技 术 学 院 , 江苏 苏 州 2 1 5 0 0 8 )
摘 要 : WC F技 术能实现 聊天功能。结合 WC F服 务配置 以及 S i l v e r l i g h t 客 户端定义 , 调用 WC F服 务器端代 理类 ,
完 成 了绘 图功 能 和 聊 天 记 录的 发 送 。通 过 W C F 的双 向通 信 机 制 实现 了 S i l v e r l i g h t绘 图 聊 天 程 序 。
“ 添 加 ”I 、 “ 新建项” 命令, 在 弹 出 的“ 添加新项 ” 窗 口中, 选
A 是 Ad d r e s s的 简 称 , 用 于 指 定 服 务 地 址 。 每 个
WCF服 务 都 有 一 个 唯 一 的地 址 , 该 地 址 定 义 了 服 务 的 引 用 地 址 和传 输 协 议 。 B是 B i n d i n g的简 称 , 中文 称 为 绑 定 。 因 为 可 供 通 信 的方 式 很 多 , 比如 可 以是 单 向或 双 向 的通 信 , 可 以 使 用 HTTP、 TCP、 P 2 P或 I P C 等 。绑 定 提 供 了 一 些 用 于 通 信 的封装好的方式 。 C是 C o n t r a c t 的简称 , 中文称 为 契约 . 描 述 了 服 务 所 能 提供 的 各 种 服 务 。
一步一步学Silverlight 2系列(14)

一步一步学Silverlight 2系列(14):数据与通信之WCF概述Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF 以及Sockets的支持等一系列新的特性。
《一步一步学Silverlight 2系列》文章将从Silverlight 2基础知识、数据与通信、自定义控件、动画、图形图像等几个方面带您快速进入Silverlight 2开发。
本文将简单介绍在Silverlight 2中如何与WCF进行通信。
简单示例在本示例中,我们将通过WCF来获取一个最新随笔的列表,在Silverlight中显示出来,最终完后效果如下所示。
先定义一个数据契约:在Web项目中添加一个WCF Service文件,命名为Blog.svc 定义服务契约:实现服务,这里可以是从数据库或者其他数据源读取,为了演示方便,我们直接初始化一个集合:修改Web.config中的服务配置,这里使用basicHttpBinding绑定,并且开启httpGetEnabled,以便后面我们可以在浏览器中查看服务:设置一下Web应用程序的端口号为固定端口52424,在浏览器中输入http://localhost:52424/ Blog.svc,看看服务是否正常:好了,现在服务端我们就实现完成了。
现在编写界面展示部分,XAML如下:在Silverlight项目中添加服务引用,输入地址http://localhost:52424/Blog.svc,输入命名空间BlogService。
添加完成后,我们可以在对象浏览器中浏览一下生成的客户端对象:当然大家也可以手工去编写客户端的代码,请参考WCF的相关内容,这里不再赘述。
下面编写调用服务并获取数据,这里仍然是采用异步模式,由于在WCF服务的配置中我们采取了BasicHttpBinding,客户端也要采用BasicHttpBinding。
Silverlight常见基本问题.doc

1.调试WCF相关问题的一般步骤是什么?2.如何使得Silverlight和HTML元素之间进行交互?2.1. 如何从JavaScript调用中可脚本化的方法?2.2. 如何从代码后置调用客户端JavaScript函数?2.3. 如何从代码后置访问HTML元素?3.如何在Visual Studio中调试带有Silverlight 功能的网站中的JavaScript代码?4.如何处理 Out-Of-Browser 相关问题?4.1. 如何检测应用程序是否工作在OOB( Out-Of-Browser)模式?4.2. 如何检测OOB更新?4.3. 如何将HTML元素融入Silverlight应用程序?4.4. OOB模式下如何调用JavaScript访问HTML 元素?4.5. 在Silverlight中如何访问cookie?5.如何调试OOB应用程序?6.在OOB模式下如何得到网络状况?7. 如何将XAML转换为图像?8. 如何使用Perspective 3D?9. 何时并如何使用Isolate Storage?10. 如何使同一页面的2个Silverlight应用程序交互?11. 如何指定安装界面?12. 什么是Element Binding?13. 什么是Binary Xml?14. Silverlight应用程序如何相互交互?15. Silverlight中如何访问本地字体?16. 什么是 Silverlight 导航应用程序(Navigation Application)?========================================== =====================1.调试WCF相关问题的一般步骤是什么?默认情况下,Silverlight使用浏览器HTTP栈。
这种情况下,如果WCF发生了一个错误,它会发送HTTP 404响应码,错误详细信息并不能在Silverlight客户端中被访问到。
Silverlight学习帮助

一.Silverlight学习 (2)1.1 Silverlight概述 (2)1.2 Silverlight 结构 (3)1.2.1 Silverlight平台 (3)1.2.2 Silverlight 结构 (3)1.2.3 核心表示层组件 (4)1.2.4 NET Framework for Silverlight (4)1.2.5 附加Silverlight 编程功能 (5)1.3 Silverlight 3.0 环境的搭建 (6)二.开始第一个Silverlight工程 (6)2.1 Silverlight 应用程序项目文件 (8)2.1.1 Silverlight 应用程序项目包含以下配置、程序集引用和代码文件: (8)2.1.2 Silverlight 应用程序项目将包含对以下程序集的引用: (8)2.2 工程示例 (9)2.2.1 Silverlight工程的独立运行 (11)2.2.2 Silverlight中XAML页面的导航 (11)三.Silverlight的特点分析 (12)3.1 Silverlight 3概述 (13)3.2 Silverlight 3 特点之增强媒体特性 (13)3.3 Silverlight 3特性之强化丰富的体验 (14)3.4 Silverlight 3特性之提高富互联网应用的效率 (14)3.5 Silverlight 3增强特性之其它 (15)3.6 Expression Blend 3中的新特性 (15)四.Deep Zoom Composer (16)4.1 Deep Zoom技术原理简介 (16)4.2 开始第一个Deep Zoom Composer应用 (17)4.2.1 建立Deep Zoom图片 (18)4.2.2 将Deep Zoom图片添加到Silverlight工程 (20)4.3 Deep Zoom Composer正式版的特点分析 (21)4.3.1 Deep Zoom Composer正式版的特点之容易的交互式Deep Zoom体验 (22)4.3.2 Deep Zoom Composer正式版的特点之追踪分析 (22)4.3.3 Deep Zoom Composer正式版的特点之增强的DeepZoomPix播放器 (23)4.3.4 Deep Zoom Composer正式版的特点之让你的导出走得更远 (24)4.3.5 Deep Zoom Composer正式版的特点之更新的UI (24)4.3.6 Deep Zoom Composer正式版的特点之支持Smooth Streaming (24)五.JSON-RPC (25)5.1 JSON数据格式 (25)5.2 JSON数据格式转换 (25)5.2.1 JSON在java中的数据转换 (25)5.2.2 JSON数据格式在Silverlight中的转换 (26)5.3 JSON-RPC (27)5.3.1 JSON传输协议 (27)5.3.2 Silverlight对基于Http的服务发出请求 (27)一.Silverlight学习1.1Silverlight概述Microsoft Silverlight 是一种跨浏览器、跨平台的.NET Framework 实现,用于为Web 生成和提供下一代媒体体验和丰富的交互式应用程序(RIA)。
Silverlight之美

Silverlight之美Silverlight为Web应用程序带来了更加丰富的交互性。
与Adobe公司的Flash相比,二者都是基于互联网技术的互动架构,同样可以显示矢量图形、动画和视频,并可以运行在多种操作系统甚至移动设备上。
Silverlight在用户体验方面同样出色,例如其富媒体体验、动画效果、滤镜特效、3D引擎以及简洁明了的原型设计等等,其实目前Silverlight框架已经很完善,但缺少的正是像Flash一样拥有大量的界面设计师,如果在Silverlight项目中拥有较强的用户体验设计人员,那Silverlight之美才能发挥出来。
下面我们就来一起分享一下Silverlight在商业应用中的魅力到底在哪里?强大的用户体验Silverlighth具有强大的用户体验及用户交互性,可以提供给使用者绚丽完美的效果,整个体验都是以用户为中心、以人为本,着重于研究用户情感,也就是互动过程中的瞬间用户体验,并将这一理念贯穿在一切设计、创新的过程当中。
Silverlight以产品吻合用户的需求、简洁明了的操作、友好的用户界面、有吸引力的视觉设计,创造出以用户黏度为首要体验的设计目标。
我们一起来看看中国人寿及中国人保在Silverlight领域中的用户体验案例:中国人寿养老金精算咨询系统(PACS)系统登录界面以黑色渐变为背景,以中国人寿的绿色为跳跃色,突出登录控件,让用户可以很快定位主体功能。
中国人寿养老金精算咨询系统(PACS)——登录界面在数据映射功能中采用二次贝塞尔曲线,以动画形式进行数据项关联,可以增加使用过程中的趣味性,当数据项类型不匹配时采用高亮色主动提示方式,使用户在拖拽时避免了错误的发生。
中国人寿受托业务办理界面中,引入对有无任务的差异显示,提高用户的关注度,并通过动画提示增强交互感。
中国人寿受托业务办理界面中国人寿数据校验工具在主界面底层添加了绚丽的粒子特效动画,丰富了界面的动感。
谈谈Silverlight 2中的视觉状态管理 Part2 电脑资料

谈谈Silverlight 2中的视觉状态管理 Part2 电脑资料概述在WPF和Silverlight中的控件模板支持自定义控件的观感,外观,指控件的视觉效果;而感觉那么是控件交互的响应性,如在控件上按下鼠标、控件获得焦点等状态的改变,本文为该系列第二篇,介绍如何利用Silverlight 2中的视觉状态管理来定制控件观感。
在前一篇我们介绍了视觉状态管理中的一些根本概念,下面将通过一个实例来展示如果利用视觉状态管理来定制控件的观感,最终我们完成的例如效果如下列图所示:本文中的例如使用了这篇文章中的代码。
定义控件模板我们现在先来定义CheckBox控件的模板,即上篇文章中所介绍的部件,如下代码所示:为了减少代码,这里去掉了一些属性,只是给出了必备的一些部件名称。
现在我们运行后,可以看到虽然CheckBox的样式有了,但它并没有任何交互的效果,如点击鼠标后CheckBox并没有选中。
定义视觉状态组我们知道,视觉状态管理器(VisualStateManager)负责管理控件的状态和状态组以及状态的迁移,所以我们所有的视觉状态组、视觉状态迁移、视觉状态等都通过它来管理,在XAML定义时,它们之间的架构关系如下:在引用VisualStateManager之前,需要先引入命名空间,这是Silverlight 2 Beta 2的一个Bug。
如下代码所示:xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"接下来我们定义视觉状态组,在上篇文章中我们就介绍过CheckBox的状态组,总共有三个: FocusStates、CommonStates、CheckStates,这里我们只定义CommonStates和CheckStates状态组,大家可以自行定义FocusStates状态组,如下代码所示:这里需要为每个视觉状态组指定名称,且名称是固定的。
Silverlight

浅议Silverlight我们看微软的网站时就会发现,它在使用大量的flash。
在电子文档领域,adobe与微软在几年前就开始交手,尽管当时还未正式亮相,silverlight还没有正式发布,但公认flash是最强有力的竞争对手。
当年adobe收购macromedia时,看重的也正是flash。
随着微软正式发布silverlight,微软计划公布大量有兴趣使用这款软件的媒体和广告代理合作伙伴,双方将在互联网富媒体领域展开新一轮的竞争。
什么是silverlight?它是一种web技术,能在各种操作平台上运行。
利用该技术,我们能够拥有内容丰富、视觉效果绚丽的交互式体验,并且,无论是在微软本身的ie内,还是在firefox、opera等浏览器上,在多个移动设备上还是在桌面操作系统(如 apple macintosh,red hat linux)中,您都可以获得这种体验。
xaml(可扩展应用程序标记语言)是microsoft .net framework 3.0(windows 编程基础结构)中的呈现技术遵循 wpf (windows presentation foundation),它是 silverlight 丰富的呈现功能的基础。
主要有以下特点:一、在web上提供丰富灵活的用户体验(一)富媒体体验和灵活的网络应用。
ria(rich interactive applications),中文翻译为“因特网互动丰富应用”。
包括了那些经常闪耀让你烦不胜烦的页面广告、精灵般跳动的小游戏以及眼花缭乱的视频。
运用silverlight技术,使用者就可以直接看到影音动画,如果您想随时切换到想看的编目,您可以写成分段式影片。
当然您只要快速点击一下也支持全荧幕观赏,按esc键又可以切换回正常画面。
(二)强大的基于向量的图形及交互。
silverlight拥有visual studio和expression blend的全面支持,其中主要的新特性和功能包括主流及扩展媒体格式支持、基于微软iis7的强大流媒体播放体验、允许web应用在桌面运行的浏览器外支持、大幅图形性能改进包括3d图形支持、gpu加速等很多提升ria开发效率的特性。
Silverlight探秘系列课程 Silverlight2与HTML互访问

Silverlight g 系列课程35讲 Silverlight2与HTML互相访问苏鹏 MVP MSDN 特约讲师点击添加MSN机器人小新 为您收听下载MSDN中文网络广播课程加油助力!内容介绍• • • • • 借助 JavaScript 使 Silverlight 可脚本化 借 HTML Bridge 中的异常处理行为 HTML Bridge HTML 桥中的安全设置 Silverlight 和 JavaScript 封送处理 总结Level 200HTML Bridge可以做的事• 对 JavaScript J S 公开全部托管类型以便于编写脚本 • 对 JavaScript 公开托管类型的各个方法以便于编写 脚本 • 将托管类型作为参数传递给 JavaScript 函数和对象 • 从 JavaScript 返回托管类型 • 作为事件处理程序分配托管类型,这些事件处理程 序可从 JavaScript J S i 调用 • 从托管类型调用 JavaScript 事件处理程序 • 控制基于 Silverlight 的应用程序的各个安全方面借助 JavaScript 使 Silverlight 可脚本化• 将 将类型和成员标记为可脚本化 成 为 • 将 JavaScript JavaScript 方法附加到可脚本化的托管事 件 • 类型 EventHandler dl 的属性 • ScriptEventHandler 类 API • 对 AJAX 的特殊支持将类型成员标记为可脚本 化• • • • • • • • • • • 属性脚本化 代码示例 p public class MyStockWatcher y { [ScriptableMemberAttribute] public string SomeProperty {get; set;} public string SomeProperty {get; set;} [ScriptableMemberAttribute] public event EventHandler SomeEvent; [ScriptableMemberAttribute] public string DoWork(int count); }对象脚本化示例• 通过使用 使 RegisterScriptableObject(String, j ) 方法,可以 方法,可以显式地向运行时注册可 行 注册可 Object) 脚本化类型的一个实例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ComponentArt-Web.UI for Silverlight
/
Silverlight技术点验证
多线程支持
SL2之后,即Silverlight 3,4支撑完整的Thread类,即System.Threading 对应的Assembly :mscorilib
两个开发工具
MicroSoft Visual Studio 2008 or 2010+ Silverlight Tools Microsoft Expression® Studio3- Blend3
Silverlight开发套件
DevExpress –SilverlightControls
/AgDataGridDemos/
Silverlight 整体架构
Silverlight 结构
Silverlight 工作原理
从浏览器发出HTTP请求,服务器接到后返回HTML、Javascript Javascript首先检查是否安装了Silverlight插件,如果没有则提供 下载 Silverlight插件是以一个ActiveX运行的,这个ActiveX加载 Silverlight运行时(可以认为是.Net FrameWork的缩减版)到指定 的路径下载执行代码和资源文件的XAP包 Silverlight的部署单位是XAP文件。这个文件包含了manifest信息, 还有运行Silverlight应用所需的所有代码
Silverlight 特点
跨平台的用户体验 小巧方便 丰富的内容功能 可扩展的编程模型和协作工具:Silverlight兼容大量其他标准和现有技术 (包括、AJAX以及.NET3.5),支持JavaScript,C#,VB,Ruby以及 Python等多种开发语言,使得开发者可以根据现有标准,或是采用微软已成 熟技术来开发基于Web的内容。 无需编译:Silverlight基于XAML和JavaScript,由浏览器解释执行,并以 DOM型式公开它的元素树,内容能很好被搜索引擎收录。 高质量、低成本的多媒体技术,最新的SL4支持H.264高清标准 结合数据、服务器和服务 支持内容接入保护技术:无论在Windows还是Mac平台上,Silverlight都支 持多种商业模型,包括订阅、租用、付费浏览或是预览等。
ComponentOne-Studio for Silverlight
/Silverlight/ControlExplorer/
Telerik -RadControls for Silverlight
/silverlight/
Silverlight 验证交流
Silverlight 简介
Microsoft® Silverlight 是Microsoft® 公司在.NET Framework平台上实现 为Web和移动设备构建和显示下一代多媒体体验和丰富的交互式应用程序 (RIA)的一种跨浏览器、跨平台的插件。Silverlight技术是一种新的Web表 现层技术,其跨平台的用户体验和可扩展的编程模型分别起到了统一了服务 器、Web 和桌面和统一托管代码和动态语言、声明性编程和传统编程以 及 Windows Presentation Foundation (WPF) 的功能,并通过结合音视频、 动画、交互以及炫丽的用户界面为Web应用程序提供精彩的多媒体创意和丰 富的交互式环境。 跨平台、浏览器的用户体验 Silverlight目前已经支持Internet Explorer, Firefox和Safari,并且微 软已经承诺支持Opera和Chrome
Silverlight中的Socket支持
SilverLight3,4版本完全支持 .Sockets命名空间,即 System.dll 三个限制: 在本地连接和跨域连接时,因为安全性的因素,在客户端发起连接 需求时,会在特定端口934请求cross-Domain-Policy策略文件,下载 策略文件根据设置的内容获准连接 只能在4502-4534范围内进行数据连接 只支持TCP协议
通过XML+Socket方式进行数据操作 通过Silverlight DataSet类模拟System.Data 中的DataSet和DataTable
Silverlight与BH
Silverlight3不稳定 Silverlight4只支持VS2010 目前DevExpress对应的Silverlight控件不丰富 Silverlight所使用缩减版Runtime的局限 Silverlight安全性的限制 Silverlight引用外部DLL的限制 Silverlight只支持LCG(Lightweight Code Generation), 不支持CodeDom Silverlight中Socket的限制
Silverlight中的动态加载
Silverlight可以动态加载DLL,但是有限制,Silverlight只能加载 Silverlight组件Dll,可以支持动态下载后加载(On统
Silverlight目前采用的是和Flash一样的隔离存储,隔离存储 (Isolate Store) 是一个虚拟的文件系统 . 它可用于保存本地(客 户端文件) ,隔离存储的访问API和其他文件操作的APIs一样,进行 文件或文件夹的访问和维护。 文件或文件夹 Silverlight并不限制文件的类型。 Silverlight支持两种方式的独立存储: 应用程序存储(GetUserStoreForApplication) 应用程序存储(GetUserStoreForApplication)
为部署在同一网站的所有应用提供一个共享的存储区。
文件存放的位置:通常放在机器 AppData\LocalLow\Microsoft\Silverlight下的随机目录下。 限制:Silverlight默认每个应用程序上限为1M,但是可以通过增加 配额提高上限,配额并不保证够不够用
Silverlight数据操作
为当前应用提供一个单独的存储区,一个应用程序被服务器赋给了一个唯一的固定的标识值, 基于Silverlight的应 用程序的虚拟文件系统现在就以一个标识值的方式来访问了。这个标识值必须是一个常量,这样每次应用程序运 行时才可以找到这个共享的位置。
按站点存储(GetUserStoreForSite) 按站点存储(GetUserStoreForSite)。
Silverlight不支持System.Data 命名空间 Silverlight不能直接操作数据库 四种方式 1、WebService 、 2、WCF 、 3、 Data Service 、 4、Microsoft .NET RIAServices 、
Silverlight数据操作