WCF 服务( 无需配置) 用于 Silverlight






4.33/5 (5投票s)
WCF 服务用于 Silverlight,
引言
本文展示了如何为 Silverlight 客户端开发无需配置的 WCF 服务。
背景
如果频繁地添加/修改 WCF 服务,维护其配置部分会变得相当复杂。
为我们的 Silverlight 客户端开发一个服务库,而无需在config文件中进行任何配置,会是一个更好的主意。 以下类图描述了这样一个库,也是本文的范围。

Using the Code
上述类图中关键的类是 SLServiceHost
,它继承自 ServiceHost
并重写了 ApplyConfiguration
方法。 在那里,您可以实现自定义绑定和元数据行为、MEX 等。
以下是代码片段
protected override void ApplyConfiguration()
{
base.ApplyConfiguration();
CustomBindings();
EnableMetaDataBehaviorAndAddMexEndPoint();
}
有一个自定义服务主机工厂,SLServiceHostFactory
,它继承自 ServiceHostFactoryBase
并创建我们的 SLServiceHost
的实例。
在我们的自定义服务(MyService.svc)中,在 XAML 中,我们将工厂和服务代码隐藏属性设置为如下所示
<%@ ServiceHost Language="C#"
Factory="Silverlight.Services.SLServiceHostFactory,Silverlight.Services"
Service="Silverlight.Services.MyService" %>
从 VS2010 运行 Silverlight.Services.Web
应用程序。 端口设置为 33333
。
现在从 VS 命令提示符运行您的 wcftestclient
实用程序并添加服务并进行测试。

关注点
- 无需在Web.Config中配置的服务库
- 单个契约接口,
ISLService
历史
- 2010年9月13日:初始发布