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






4.68/5 (22投票s)
使用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.xml 和 crossdomain.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 架构。
本教程包含 10 个常见问题,从 Silverlight 动画基础知识开始,然后展示一个简单的动画矩形。然后,文章继续讨论转换对象的 4 种不同方法。
本文讨论了 12 个常见问题,这些问题围绕绑定、布局、使用 WCF 服务以及如何通过 Silverlight 连接到数据库。