- 浏览: 15174 次
最新评论
零基础学通Silverlight4(8):WCF RIA Service
2010年10月13日
Windows通信基础(Windows Communication Foundation,WCF)是应用程序互相通信的框架,是实现简单对象访问协议(SOAP)Web服务的常见方式,使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案,提供了动态、低耦合、互联的应用程序通信功能,并大大降低了系统的复杂性,使开发人员能够关注业务逻辑的实现。
Silverlight 是一种客户端执行的环境,它无法如同 ASP.NET一样,直接与后端数据源进行沟通,数据存读取和保存全都必须跨越网络,我们就必须使用N-tier架构才能让 Silverlight 顺利的存取远程数据,WCF RIA Service 让开发多层式架构的过程就如同传统 2 层式架构应用程序一般自然。支持TCP通讯,比较HTTP提升3-5倍,限于4502-4534端口。简化WCF RIA Services应用开发过程,通过RIA Services轻松存取数据源。
◎新建项目,注意选中"Enable WCF RIA Service"。
◎ 开启数据库服务,sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器,安装好manage管理器后, 开启sql2005连接功能,开启办法如下, 配置工具->sql server外围应用配置器->服务和连接的外围应用配置器,点击启动,如图
◎ 数据库启动后,添加数据库新项。如图
◎数据库添加后,项目中出现数据库文件时表明建立成功
◎ 右健打开数据库,并选中Tables->右键->新建表(Add New Table)。
◎ 定义三个字段姓名Name、地址Address、电话Phone,定义Name为主健,并保存为表名Friend。
◎ 现在我们需要一个数据访问层,RIA的服务支持和LINQ到SQL的框架。增加一个新项目"ADO.NET Entity Data Model."到Web项目中。名称为FriendModel.edmx
◎ 选择从数据库中建立模型。
◎定义数据库连接,选中我们的MyDatabase.mdf数据库进行连接。
◎ 选择数据库内的数据表、示图、存储过过程等。这里我们只要选取Friend表即可,点击"Finish"完成。
此时需编译一下Shift+F6。下面创建域名服务,域名服务是为RIA的关健。通过创建一个在网络域名服务项目,生成相应的在客户端访问的代码,现是一个本地数据存储,没有Web服务配置,连接字符串等。
◎ 添加新建项中选择"Domain Service Class",命名为:FriendDomainService.cs。
◎ 定义Domain Data Class的参数,这里我们要把Entities的FunSLUsers和Enable editing都钩上.Generate associated calsses for metadata是集成强大数据展示的定义集,一般建议把空上也钩上,集成了例如:正则表达式等数据效验功能.如下图
需再次编译一下,以使Domain Data Class生效到Silverlight项目中,下面进行silverlight端的数据操作。
◎以下是MainPage.xaml的内容,定义了一个Gridview控件用来显示数据,三个按扭控件分别是添加、修改、删除.
SDK 客户端库程序集命名空间支持 -->
xmlns:sdk="http://schemas.microsoft.com/winfx/2006 /xaml/presentation/sdk"
xmlns:riaControls="clr-namespace:System.Windows.Co ntrols;assembly=System.Windows.Controls.DomainServi ces" xmlns:my="clr-namespace:Ch16_Exam3_2.Web">
sdk:DataGrid AutoGenerateColumns="True" Height="197" HorizontalAlignment="Left" Margin="37,33,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="322" />
删除" Height="40" HorizontalAlignment="Left" Margin="170,249,0,0" Name="btDele" VerticalAlignment="Top" Width="86" FontSize="15" />
◎ 菜单"Data"下"Show Data Sources",可看到数据源FridendContext,在代码在可直接使用了。
◎以下是MainPage.xaml.cs文件代码部份。也就是我们开始通过.net ria service操作数据库了。
using Ch16_Exam3_2.Web;//后手动直接添加的命名的空间
namespace Ch16_Exam3_2
{
public partial class MainPage : UserControl
{
FridendContext fridendcontext;
public MainPage()
{
InitializeComponent();
fridendcontext= new FridendContext();
LoadData();
}
void LoadData()
{
dataGrid1.ItemsSource = fridendcontext.Friends;
fridendcontext.Load(FridendContext.GetFriendQuery( ));
}
//增加记录
private void btAdd_Click(object sender, RoutedEventArgs e)
{
Friend fid = new Friend();
fid.Name = "张刚"+System .DateTime .Now .Millisecond.ToString ();
fid.Address = "内蒙古市";
fid.Phone = "87663560";
fridendcontext.Friends.Add(fid);
fridendcontext.SubmitChanges();
MessageBox.Show("增加成功");
}
//删除记录
private void btDele_Click(object sender, RoutedEventArgs e)
{
Friend fid = (Friend)dataGrid1.SelectedItem;
fridendcontext.Friends.Remove(fid);
fridendcontext.SubmitChanges();
MessageBox.Show("删除成功");
}
//修改记录
private void btAdapt_Click(object sender, RoutedEventArgs e)
{
Friend fid = (Friend)dataGrid1.SelectedItem;
fid.Address = "北京市南京路";
fridendcontext.SubmitChanges();
MessageBox.Show("修改成功");
}
}
}
可增加、删除、修改等,如图
发表评论
-
公共语言运行库中的程序集-03全局程序集缓存
2012-01-20 02:00 728公共语言运行库中的程序集-03全局程序集缓存 2011年06 ... -
Batch Usage
2012-01-20 02:00 734Batch Usage 2010年07月13日 ... -
winodws上使用vs2008编译QGis-1.6.0
2012-01-20 02:00 1378winodws上使用vs2008编译QGis-1.6.0 2 ... -
在模拟器上安装Android market的方法
2012-01-20 02:00 724在模拟器上安装Android market的方法 2011年 ... -
布同:如何循序渐进学习Python语言
2012-01-19 09:48 732布同:如何循序渐进学习Python语言 2011年02月24 ... -
windows环境下python web开发环境安装配置
2012-01-19 09:47 894windows环境下python web开 ... -
【转载】Python连接MySQL数据库
2012-01-19 09:47 862【转载】Python连接MySQL数据库 2011年08月0 ... -
python 常用类库!(转)
2012-01-19 09:47 994python 常用类库!(转) 2011年01月21日 ... -
python py2exe 创建exe可执行文件
2012-01-19 09:47 1174python py2exe 创建exe可执行文件 2011年 ... -
OpenGL编程设置
2012-01-17 02:21 1100OpenGL编程设置 11小时前 一.环境配置 由 ... -
Three dying platforms: Flash, Silverlight, Win32
2012-01-17 02:21 585Three dying platforms: Flash, S ... -
CAsyncSocket::SetSockOpt全解
2012-01-17 02:21 1392CAsyncSocket::SetSockOpt全解 201 ... -
Android apk 签名
2012-01-17 02:21 702Android apk 签名 2011年12 ... -
用PHP代码调用sockets,直接用服务器的网络攻击别的IP
2012-01-15 21:59 549用PHP代码调用sockets,直接用服务器的网络攻击别的IP ... -
1201-p
2012-01-15 21:59 7091201-p 2011年11月30日 内存 威 ... -
发烧高端版v2.0版本
2012-01-15 21:59 617发烧高端版v2.0版本 6小时前 CPU AMD FX- ... -
pcb layout 4
2012-01-15 21:59 586pcb layout 4 2011年12月30日 1.一 ...
相关推荐
WCF RIA Service Silverlight 商业应用 只是个例子
第一章 主要工具安装 1.1 安装Visual Studio 2010 1.2 安装Silverlight 4工具包 1.3 安装Expression Blend 4 1.4 安装SQL Server 2008 Express ...第八章 WCF RIA Service 第九章 多媒体 第十章 网络地图服务
silverlight与WCF RIA Service数据库操作相关,共有十多个word文档,介绍WCF RIA Service数据库操作的方方面面,不可不看。
WCF RIA Service SilverLight 学习 案例源码 认证 Authorization 的一个很好的案例!GOOD Luck and And enjoy it!
WCF RIA Services simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms. RIA Services provides a pattern to write application logic that runs ...
silverlight4+mvvm+RIAService搭建的一个小型的学习型demo,方便广大初学者学习和研究!
Silverlight DataGrid使用WCF RIA Service实现Load-on-demand的数据加载.doc
讲解了WCF RIA Service使用,很不错的帮助文档,适合初学者
简介:Silverght5,EF4.1,WCF RIA,代码优先CodeFrist 演示项目源码 系统分层:MODEL,BLL,DAL,IDAL,DALFactory,UI+Web 其中有两个子模板, 内部子模板1:用RIA Service、DomainDataSource,dataGrid演示分页、查询、数据...
Silverlight WCF RIA服务(九)Domain Service 2 源代码
WCF RIA Service 基础—Data Binding, Creating and Editing
Silverlight 2系列(33):Silverlight 2应用Web Service两例 Silverlight 2系列文章 Silverlight 2系列(32):图形图像综合实例—“功夫之王”剧照播放 Silverlight 2系列(31):图形图像综合实例—实现水中倒影...
自从VS2013从wcf Ria转向open RIA,就对ria服务支持不太好了,这个是让visual studio 2013增加open Ria services支持,增加Silverlight Business Application、domain service
我贡献出我的正在做的项目的源代码,献给我自己,以及我自己坎坷的命运。 能够糊口,希望能够值10个资源分。...技术包含MVVM(prism),Entity Framework,WCF RIA SERVICE SP1等 全插件模型的企业级项目。
富客户端RIA技术体系下Silverlight平台以及WCF RIA Service架构为动态瓦斯地质提供了高效的开发应用平台,从而实现了系统以Web方式进行部署,并实现了瓦斯地质严格的空间拓扑表现,通过使用合适的TIN三角网插值算法正确...