65.9K
CodeProject 正在变化。 阅读更多。
Home

使用Silverlight消费WCF服务的4个简单步骤

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.68/5 (22投票s)

2009年6月17日

CPOL

3分钟阅读

viewsIcon

200018

downloadIcon

3059

使用Silverlight消费WCF服务的4个简单步骤。

更新:SilverLight 常见问题解答 - 第 3 部分链接已添加到本文。

使用Silverlight消费WCF服务的4个简单步骤

 

 

视频演示:使用 Silver light 的单向、双向和单次绑定

 

引言

本文将介绍 4 个简单的步骤,帮助您在 Silverlight 应用程序中使用 WCF 服务。它还提供了一个简单的示例源代码,实际演示了所有 4 个步骤。

步骤 1:创建您的 WCF 服务

第一步是创建您的 WCF 服务。当我们创建 WCF 服务时,默认情况下它会创建一个 ‘GetData’ 函数,该函数接受一个整数值并返回一个 string,说明 “You entered 10”,以防您将 ‘10’ 作为值传递给该函数。我们将在接下来的步骤中尝试在 Silverlight 中使用此服务

public class Service1 : IService1
{
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
}

步骤 2:为您的 WCF 服务启用跨域

在本例中,我们的 WCF 服务和 Silverlight Web 应用程序将托管在不同的 IIS 网站中。换句话说,它们将托管在不同的域中。当我们谈论不同的网站时,换句话说它们托管在不同的域中。例如,您的 Silverlight Web 应用程序可能托管在一个域中,如 www.xyz.com  您的 WCF 服务托管在不同的域中,即 www.pqr.com

WCF 服务需要启用跨域功能,以便其他域可以使用 WCF 服务。

图:跨域

我们需要在 WCF 服务的根目录中创建两个 XML 文件 (clientaccesspolicy.xmlcrossdomain.xml) 以启用跨域功能。
以下是 clientaccesspolicy.xml 的 XML 代码片段

<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource include-subpaths="true" path="/"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>

以下是 crossdomain.xml 的 XML 代码片段

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM 
	"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

步骤 3:添加 WCF 服务引用

创建一个简单的 Silverlight 应用程序,并将服务引用添加到您的 Silverlight 项目。为了调用 WCF 服务,我们需要定义事件处理程序。

使用 WCF 服务是一个三个步骤的过程。

  • 第一步,引用命名空间。
  • 第二步,创建您的 WCF 服务的对象。
  • 在最后一步中,我们需要创建一个事件处理程序,它将获取 WCF 服务发送的结果。

需要注意的重要一点是,函数 ‘GetData’ 是异步调用的。

步骤 4:调用服务

最后编译程序并享受输出。

其他 Silverlight 常见问题解答

如果您是 Silverlight 的完全新手,那么以下是一些 Silverlight 常见问题解答,可以帮助您快速入门此主题。

Silverlight 常见问题解答第 1 部分 

本教程包含 21 个基本常见问题解答,可帮助您了解 WPF、XAML,帮助您构建您的第一个 Silverlight 应用程序,并解释整体 Silverlight 架构。

SilverLight FAQ 第 2 部分(动画和变换) 

本教程包含 10 个常见问题,从 Silverlight 动画基础知识开始,然后展示一个简单的动画矩形。然后,文章继续讨论转换对象的 4 种不同方法。

SilverLight 常见问题解答第 3 部分 

本文讨论了 12 个常见问题,这些问题围绕绑定、布局、使用 WCF 服务以及如何通过 Silverlight 连接到数据库。

© . All rights reserved.