<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>top-silverlight &#187; silverlight 学习</title>
	<atom:link href="http://www.top-silverlight.com/category/silverlight-%e5%ad%a6%e4%b9%a0/feed" rel="self" type="application/rss+xml" />
	<link>http://www.top-silverlight.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 04 Jan 2012 05:28:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>更强悍的Silverlight:WCF RIA Services</title>
		<link>http://www.top-silverlight.com/2009/12/31/%e6%9b%b4%e5%bc%ba%e6%82%8d%e7%9a%84silverlightwcf-ria-services.html</link>
		<comments>http://www.top-silverlight.com/2009/12/31/%e6%9b%b4%e5%bc%ba%e6%82%8d%e7%9a%84silverlightwcf-ria-services.html#comments</comments>
		<pubDate>Thu, 31 Dec 2009 04:31:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[silverlight 学习]]></category>
		<category><![CDATA[WCF RIA Services]]></category>
		<guid isPermaLink="false">http://www.top-silverlight.com/?p=253</guid>
		<description><![CDATA[如果你安装了 VS 2010 的 Silverlight 4 开发工具，会发现一项重量级的安装项目，WCF RIA Services，用于Silverlight数据访问服务，比WCF和ADO.NET Data Service和Web服务都要简单. 　 　在一个三层架构的应用程序中，中间层介于表示层和数据层之间，你所写的业务逻辑和数据验证都将在中间层出现。创建拥有良好用户体验的RIA应用，你需要 客户端和服务端有着相同的业务规则，因此在客户端和服务端保证同步的中间层变得至关重要。WCF RIA Services可以让你在中间层用.NET框架编写逻辑应用，下面将讲述如何使用Domain Services以共享代码、数据实体来创建中间层。 　 　DomainService类是所有服务端domain services类的基类，另外WCF RIA Services也提供了LinqToEntitiesDomainService和LinqToSqlDomainService两个继承自 DomainService的抽象类。 　　为什么WCF RIA Service 对于 Silverlight 如此重要，最主要的原因在于，Silverlight 是一种客户端执行的环境，它无法如同 ASP.NET一样，直接与后端数据源进行沟通，数据存读取和保存全都必须跨越网络，我们就必须使用N-tier架构才能让 Silverlight 顺利的存取远程数据，这是一种很好的实践,在技术层面让开发者遵守现代软件开 发的最佳实践,但是对于小项目来说并不是一项简单的事,微软一贯的作风就是为开发者提供开发者傻瓜式的开发模式,WCF RIA Services 让整个Silverlight 平台能够拥有如同 Web Form 或是 Win Form 一般同等级的数据库应用程序开发能力。 　　 WCF RIA Service 让开发多层式架构的过程就如同传统 2 层式架构应用程序一般自然。因为 WCF RIA Service 的导入，让这第 [...]]]></description>
			<content:encoded><![CDATA[<p>如果你安装了 VS 2010 的 Silverlight 4 开发工具，会发现一项重量级的安装项目，WCF RIA Services，用于Silverlight数据访问服务，比WCF和ADO.NET Data Service和Web服务都要简单.</p>
<p>　 　在一个三层架构的应用程序中，中间层介于表示层和数据层之间，你所写的业务逻辑和数据验证都将在中间层出现。创建拥有良好用户体验的RIA应用，你需要 客户端和服务端有着相同的业务规则，因此在客户端和服务端保证同步的中间层变得至关重要。WCF RIA Services可以让你在中间层用.NET框架编写逻辑应用，下面将讲述如何使用Domain Services以共享代码、数据实体来创建中间层。<span id="more-253"></span></p>
<p>　 　DomainService类是所有服务端domain services类的基类，另外WCF RIA Services也提供了LinqToEntitiesDomainService和LinqToSqlDomainService两个继承自 DomainService的抽象类。</p>
<p>　　为什么WCF RIA Service 对于 Silverlight 如此重要，最主要的原因在于，Silverlight 是一种客户端执行的环境，它无法如同 ASP.NET一样，直接与后端数据源进行沟通，数据存读取和保存全都必须跨越<a title="网络" href="http://net.it168.com/" target="_blank">网络</a>，我们就必须使用N-tier架构才能让 Silverlight 顺利的存取远程数据，这是一种很好的实践,在技术层面让开发者遵守现代<a title="软件" href="http://software.it168.com/" target="_blank">软件</a>开 发的最佳实践,但是对于小项目来说并不是一项简单的事,微软一贯的作风就是为开发者提供开发者傻瓜式的开发模式,WCF RIA Services 让整个Silverlight 平台能够拥有如同 Web Form 或是 Win Form 一般同等级的数据库应用程序开发能力。</p>
<p>　　 WCF RIA Service 让开发多层式架构的过程就如同传统 2 层式架构应用程序一般自然。因为 WCF RIA Service 的导入，让这第 4 版的 Silverlight 足以成为相关技术发展的一个重大里程碑，而这也是我们跳过 Silverlight 2 与 Silverlight 3，全心等待 Silverlight 4 来临最重要的原因之一。</p>
<p>　　在 Silverlight 3，我们通过WCF 或是ADO.NET Data Service 来实践所需的功能，WCF RIA Service 则是完全为了解决这一方面的问题而发展出来的相关服务，也是基于WCF服务,WCF支持各种通讯协议,目前WCF RIA Service只使用HTTP的绑定,而且Silverlight 4支持tcp绑定，参见InfoQ Silverlight 4中的高速<a title="通信" href="http://tele.it168.com/" target="_blank">通信</a>，对于企业业务系统来说我会选择tcp的绑定。当然这只是beta版本，之后的版本肯定会改变，WCF RIA Services不仅仅是支持Silverlight，将来还会支持asp.net/ajax等等。</p>
<p>　 　我们知道WCF 使用EndPoint(Address, Binding 和 Contract)，可以通过配置文件和编程方式进行配置，WCF RIA Service默认使用自己的ServiceHost，叫DomainServiceHost，DomainServiceHost 通过编程方式添加了三种EndPoint，用于REST接口的WebHttpBinding, BasicHttpBinding 和 BinaryHttpBinding，所有的绑定都设置了MaxReceivedMessageSize 为 ”2147483647”。缺省的Address的三种Binding如下：</p>
<p>　　绑定 Address 说明</p>
<p>　　WebHttpBinding baseAddress REST with JSON Endpoint</p>
<p>　　BasicHttpBinding baseAddress” + “/soap“ SOAP with XML Endpoint</p>
<p>　　BinaryHttpBinding baseAddress” + “/binary” SOAP with Binary Endpoint</p>
<p>　　基于WCF的高度灵活性，可以自定义DomainServiceHost的来更改相关的配置来满足自己的需要，如果这些是微软来做的话会更加有影响力。期望WCF RIA Service能够继承WCF的灵活性为我们的提供强大的解决方案。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.top-silverlight.com/2009/12/31/%e6%9b%b4%e5%bc%ba%e6%82%8d%e7%9a%84silverlightwcf-ria-services.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

