Silverlight实用窍门系列:30.Silverlight中创建一个最简单的WCF RIA Services访问数据库实例
Sliverlight教程

Silverlight 2 初览∙6∙【原文地址】First Look at Silverlight 2【原文发表日期】 Friday, February 22, 2008 6:41 AM去年9月,我们发布了面向Mac和Windows的Silverlight 1.0,还宣布了在Linux 上提供Silverlight的计划。
Silverlight1.0着重于促进浏览器中的丰富媒体场景,支持JavaScript/AJAX编程模型。
我们不久将发布Silverlight2 的第一个公开beta,这是个Silverlight的重大更新,将注重于促进富网络应用(RIA)的开发。
本贴是我将在以后的几个月内撰写的详细讨论相关细节的几个贴子的第一篇。
跨平台/跨浏览器的 .NET 开发Silverlight 2 包含了.NET 框架的一个跨平台,跨浏览器版本,促成了在浏览器中运行的一个丰富的 .NET 开发平台。
开发人员可以使用任何一门 .NET 语言(包括VB, C#, JavaScript, IronPython 和 IronRuby)来编写Silverlight 应用。
我们将推出Visual Studio 2008 和 Expression Studio的工具支持,来促成建造Silverlight方案时开发人员与美工设计师间良好的工作流和集成。
这个即将发布的Silverlight 2 Beta1 版本提供了能促成精妙的RIA应用开发的一套丰富的功能集。
这些功能包括:∙WPF UI框架: Silverlight2包括了一个基于WPF的富用户界面框架,该框架将极大地方便建造丰富的Web应用。
其中包括强大的图像和动画引擎,以及对像控件,布局管理,数据绑定,样式和模板皮肤这样高级的UI功能的丰富支持。
Silverligh中的WPF UI框架是与完整的 .NET 框架中的WPF UI框架特性相兼容的一个子集,允许开发人员重用技能,控件,代码和内容来同时建造丰富的跨浏览器的web应用,以及丰富的桌面Windows应用。
Silverlight交流

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都支 持多种商业模型,包括订阅、租用、付费浏览或是预览等。
Silverlight API学习笔记

Silverlight API学习笔记(一)上一篇/ 下一篇 2010-06-08 13:03:57 / 个人分类:ArcGIS Server查看( 439 ) / 评论( 4 ) / 评分( 0 / 0 )ArcGIS Silverlight API安装资源下载ArcGIS Silverlight API的帮助是在线的,访问的URL为:/en/webapi/silverlight/help/index.html关于如何搭建应用开发环境,可以参照左边的目录树中的Installation,其中包含各种开发资源的下载链接。
在系列教程的第一讲中,我先将本Help中提到的相关资源全部下载整理了一下,放在QQ空间的中转站中。
QQ帐号是:arcgiser@密码是:giser1234567,大家登录QQ邮箱后,直接在文件中转站中可以看到下载链接。
因为这个资源是开放给GISer方便学习用的,请不要随便更改QQ密码。
文件默认的存放时间为7天,如果有人看到即将过期,请帮忙续期一下。
(VS2010实在太大了,就不上传了,大家自己找下载地址吧)这个资源主要包含以下几个,简要介绍如下:(1)Expression Blend 4RC:Expression Blend,是一款用于设计桌面和Web应用用户界面的可视化工具,用户可以通过拖拉控件方式创建用户交互界面,即Expression Blend是一款Silverlight API编程的IDE。
Expression Blend 4RC是4.0 Release Candidate版本。
(2)Silverlight4_Tools如果您是在VS2010中进行ArcGIS Silverlight API开发的话,必须在安装完VS2010之后再安装Silverlight4_tools (/downloads/details.aspx?familyid=BF5AB940-C011-4BD1-AD98-DA 671E491009&displaylang=en)。
ArcGIS开发模式silverlight

搭建开发环境
1、安装VS2008 SP1 或者Visual Web Developer Express SP1 2、安装Microsoft® Silverlight™ Tools for Visual Studio 2008 SP1 选择安装Silverlight ToolKit (/Silverlight); 3、下载API library;
/arcgisserver/apis/silverlight/
4、在Web Server根目录下添加跨域访问协议; 对于ArcGIS Server .net 添加到C:\Inetpub\wwwroot; 对于ArcGIS Server Java添加到<ArcGIS>\java\web_output;
主要内容:高级进阶
• Silverlight 基础
– Microsoft Silverlight 概述 – 理解XAML – 资源字典 – 自定义控件外观 – 数据绑定 – Silverlight网络和通信
• Silverlight API开发进阶
– 客户化控件外观 – 绘制专题图 – 自定义图层
Silverlight官方网站 / Silverlight开源站点 /Silverlight MSDN Silverlight 帮助 /zh-cn/library/cc838158(VS.95).aspx
openSUSE 11.0
是
通过Moonlight 插件,Linux 用户可以浏览Silverlight内容和 使用Silverlight应用
2009年7月 Siverlight 3.0正式发布
• 支持高清媒体
/media/experiencesmoothstreaming
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开发效率的特性。
wcf服务器和客户端创建

一、开发环境操作系统:Windows 7开发环境:VS2013编程语言:C#IIS版本:10.0.0.0二、添加WCF服务、Internet Information Services(IIS)1、进入“控制面板”,打开“程序和功能”,点击左上角的“启用或关闭Windows功能”后,在“.NET Framework 4.6 高级服务”中的子节点选中“WCF 服务”,如下图所示:2、再找到“Internet Information Services”,同样选中该节点,如下图所示:3、点击“确定”按钮以便安装这些服务与组件,等待完成安装即可。
三、新建一个WCF服务库1、使用VS2015新建一个WCF服务库,并将项目名称改为“MyWCFService”,如下图所示:3、将鼠标移到解决方案资源管理器中项目“MyWCFService”上并右击鼠标,弹出上下文菜单,在菜单中选中“发布”后,弹出下图所示的“发布WCF服务”对话框,如下图所示:在目标位置选择“D:\WCF”,其他按默认,点击“发布”按钮,即可在“D:\WCF”文件夹里生成如下图所示的文件:四、新建一个WCF服务网站1、打开控制面板-管理工具2.点击打开IIS,右键点击网站,新建一个网站,网站名称设置为“MyWCFService”,物理地址选择“D:\WCF”,端口从默认的80改为81,如下图所示:3点击确定后,即新建一个WCF服务网站。
五、服务器程序编辑(编辑完成后需要再次发布)1、点击解决方案下的server1.Cs—GeteData2、在此处添加程序六、创建客户端1、新建一个Windows窗口客户端2、在解决方案下的引用点击右键,添加服务器引用3、地址填http://localhost:81/ MyWCFService点击转到,然后点击确定4、在这里添加客户端程序5、点击启动生成解决方案,完成客户端创建。
WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)
WCF 一步一步从入门到精通(一)建立一个简单入门的例子(适合一点不会的朋友阅读)Windows Communication Foundation (WCF) 是一个统一框架,用于创建既安全可靠又可交互的分布式事务处理应用程序。
在我学习一样新的技术的时候总喜欢一开始就知道他如何使用和配置,然后再深入的了解的更多细节。
下面我们就通过图片一步一步的从一点不会开始建立一个简单的WCF程序(这个例子取自微软,很简单):我使用的环境是: VSTS2008 sp11.建立一个名为WCF的空解决方案,再右键点击他,为这个解决方案添加一个“WCF 服务库”项目WCF服务库被添加进去,结果如下2.WCF项目中有两个默认建立好的文件Iservice1.cs和Service1.cs ,我们下面要对这两个文件稍稍的做一下修改IService1.csusing System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.Text;namespace WcfServiceLibrary{// 注意: 如果更改此处的接口名称“IService1”,也必须更新 App.config 中对“IService1”的引用。
[ServiceContract]public interface IService1{[OperationContract]string GetData(string value);[OperationContract]CompositeType GetDataUsingDataContract(CompositeType composite);// 任务: 在此处添加服务操作}// 使用下面示例中说明的数据协定将复合类型添加到服务操作[DataContract]public class CompositeType{bool boolValue = false;string stringValue = "朋友 ";[DataMember]public bool BoolValue{get { return boolValue; }set { boolValue = value; }}[DataMember]public string StringValue{get { return stringValue; }set { stringValue = value; }}}}Service1.csusing System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.Text;namespace WcfServiceLibrary{// 注意: 如果更改此处的类名“IService1”,也必须更新 App.config 中对“IService1”的引用。
Sliverlight简介
Sliverlight简介微软Silverlight是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多媒体体验与富交互(RIA,Rich Interface Application)的网络交互程序。
Silverlight能创建一种具有很高艺术性的应用程序,具有以下的特点:a)一种跨浏览器、跨平台的技术b)无论在哪运行,都能提供一致的用户体验。
c)它的视频和音频流,视频质量无论从移动设备还是桌面浏览器都是720p HDTV video模式。
d)用户可在浏览器中直接对其进行控制,可以拖动、翻转、放大的图片。
e)它读取数据并且更新外观,但不会通过刷新整体页面来打断f)用户操作。
Silverlight将多种技术结合到一个开发平台,可以在其中选择符合需求的合适的工具和编程语言。
SilverLight提供了如下的特性:1)WPF和XAML。
2)对于JavaScript的扩展。
3)跨浏览器,跨平台的支持。
4)与现存应用程序的集成。
5)可访问.NET Framework编程模型和相关工具。
6)LINQ。
Silverlight包含集成查询(LINQ)语言。
7)如果已经使用,可以将Silverlight集成到熟悉的服务器和客户端功能。
开发工具:A.可以使用已经具有的技能和熟悉的工具来创建基于Silverlight的应用程序,在Web页面中,既可以使用HTML,也可以使用Silverlight的WPF元素,和HTML一样,在Web应用程序中XAML同样可以使用声明的标记来创建用户界面,不同的是,XAML提供了更强大的元素。
B.可以使用强大的Visual Studio 2008 创建Silverlight应用。
(Silverlight在Visual Studio 2008 的IDE中作为一个插件而得到支持。
)同样Visual Studio为Silverlight提供了开发工具,比如.NET Framework中已经为创建应用程序提供的强大的编辑器、项目管理、调试等等。
一步一步学Silverlight 2系列(28):图片处理
一步一步学Silverlight 2系列(28):图片处理一步一步学Silverlight 2系列(28):图片处理概述Silverlight2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、WebService、WCF以及Sockets的支持等一系列新的特性。
《一步一步学Silverlight 2系列》文章将从Silverlight2基础知识、数据与通信、自定义控件、动画、图形图像等几个方面带您快速进入Silverlight 2开发。
本文将介绍在Silverlight 2中进行图片的处理,包括图片的拉伸、裁剪、半透明遮罩等内容。
创建图片创建图片,我们可以直接使用Image控件或者在上一篇讲过的ImageBrush,使用ImageBrush可以填充图形或者控件的前景色、背景色等,只需要指定ImageSource属性。
注意,在Silverlight 2 Beta 1中,目前似乎只支持.png格式的图片。
<Canvas Background="#CDFCAE"><Rectangle Canvas.Left="20" Canvas.Top="80"Width="240" Height="136" RadiusX="15" RadiusY="15"><Rectangle.Fill><ImageBrushImageSource="a1.png"></ImageBrush></Rectangle.Fill></Rectangle><Image Source="b1.png" Canvas.Left="320" Canvas.Top="80"></Image></Canvas>运行后如下所示:图片拉伸当我们创建了一个图片的时候,如果不指定它的宽度和高度,它将会使用默认的规格来显示;如果指定了高和宽,图片将显示在指定高和宽的矩形区域内。
最新Sliverlight教程
使用 VS 2008 创建一个新的Silverlight 应用我们来开始我们的Digg应用的开发,先选择Visual Studio 2008 中的文件->新项目菜单项,使用新项目对话框创建一个“Silverlight Application” (注:你需要在Beta1发布后,下载和安装 VS 2008的Silverlight工具才能得到这个支持):我们将该项目命名为“DiggSample”。
在点击OK按钮后, Visual Studio 会显示另外一个对话框,允许我们选择我们是否只要创建一个Silverlight应用项目,或者还要加一个服务器端的 Web项目到包含Silverlight应用的解决方案里去:在这个例程里,我们将选择还要添加一个 Web Application 项目到解决方案里去,并将它命名为“DiggSample_WebServer”。
在点击OK之后,Visual Studio 会为我们创建一个解决方案,里面包含一个Silverlight 客户端应用和一个 web 服务器端应用:如果我们做一次编译的话, Visual Studio 会自动把编译好的 Silverlight 应用拷贝到我们的web服务器项目中去,不需要手工的步骤或配置。
VS为我们创建的默认的web服务器项目包含一个网页和一个静态的 HTML网页,我们可以用来运行和测试其中的Silverlight应用。
注: Silverlight应用可用于任何web服务器(包括Linux上的Apache),宿主于静态HTML文件或者任何服务器端生成的网页(包括 PHP, Java, Python, Ruby等等)中。
在这个Digg样例中,我们不会写任何服务器端的代码,而是将使用Silverlight的跨域networking功能,来直接访问 Digg服务的API。
我选择创建一个 web服务器项目,主要是想获得自动的部署,并且使用它内置的web服务器来做测试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Silverlight实用窍门系列:30.Silverlight中创建一个最简单的WCF RIA Services访问数据库实例
本文将建立一个最简单的WCF RIA Services访问数据库的实例,附带有数据库文件,可以在Sql Server中附加数据库,在本文中并没有采
用ADO.NET实体数据模型绑定数据库,而是单独写一个类来连接数据库查询数据表并返回值,下面我们看详细步骤。
第一步:首先我们打开VS2010,新建一个Silverlight应用程序项目SLGetDataFromWCFRIA。
第二步:点击确定之后,在弹出的“新建Silverlight应用程序”窗口中,选中“启用 WCF RIA 服务”复选框然后确定。
第三步:在创建好的项目中,鼠标右键点击“SLGetDataFromWCFRIA.Web”项目,然后“添加”-->“新建项”-->“WCF服务”,命名为
SLWCFRIA.svc。
第四步:在上一步生成的ISLWCFRIA.cs文件中,我们可以定义相关的通信的契约,在本实例中我们定义一个string GetData()契约。
第五步:在SLWCFRIA.svc.cs文件中我们实现这个契约函数,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace SLGetDataFromWCFRIA.Web
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名
“SLWCFRIA”。
public class SLWCFRIA : ISLWCFRIA
{
public void DoWork()
{
}
public string GetData()
{
DataSet ds= DB.Getdata("select * from userinfo");
return ds.GetXml();
}
}
}
第七步:我们在SQL SERVER2008中创建一个示例数据库名为SLRiaTest。在这个数据库里面新增一个UserInfo表,在里面添加字
段如下:
第八步:编写一个类,来连接SLRiaTest数据库,获取DataSet数据集。
DB.cs数据库访问类
第九步:鼠标右键点击SLGetDataFromWCFRIA项目“添加服务引用”即引用刚才我们编写的WCF服务。
第十步:添加一个UserInfo的实体类集合。代码如下:
///
/// 用户实体类
///
public class UserInfo
{
private string _ID;
private string _UserName;
private string _UserAddr;
private string _UserTel;
public string ID
{
get { return _ID; }
set { _ID = value; }
}
public string UserName
{
get { return _UserName; }
set { _UserName = value; }
}
public string UserAddr
{
get { return _UserAddr; }
set { _UserAddr = value; }
}
public string UserTel
{
get { return _UserTel; }
set { _UserTel = value; }
}
}
第十一步:点击MainPage.xaml文件,添加一个DataGird控件命名为grShow,在MainPage.xaml.cs文件中编写以下代码获取
WCF RIA services读取到的数据库数据:
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
//创建一个代理类的实例
SLWCFRIAClient client = new SLWCFRIAClient();
//调用GetData方法并加载事件
client.GetDataAsync();
client.GetDataCompleted += new
EventHandler
}
public List
void client_GetDataCompleted(object sender, GetDataCompletedEventArgs e)
{
using (XmlReader xReader = XmlReader.Create(new StringReader(e.Result)))
{
//XmlReader读取XML数据
while (xReader.ReadToFollowing("Table"))
{
xReader.ReadToDescendant("ID");
string id = xReader.ReadElementContentAsString();
xReader.ReadToNextSibling("UserName");
string username = xReader.ReadElementContentAsString();
xReader.ReadToNextSibling("UserAddr");
string useraddr = xReader.ReadElementContentAsString();
xReader.ReadToNextSibling("UserTel");
string usertel = xReader.ReadElementContentAsString();
//实例化类并添加进实体类List<>
UserInfo uinfo = new UserInfo(){ID=id,
UserName=username,UserAddr=useraddr,UserTel=usertel};
userList.Add(uinfo);
}
this.grShow.ItemsSource = userList;
}
}
}
最后我们看最后的效果图,本实例采用VS2010+Silverlight 4.0+MS SQL SERVER 2008,点击 SLGetDataFromWCFRIA.rar 下
载本实例源码和示例数据库。