繁体   English   中英

Silverlight中动态WCF客户端代理的解决方案?

[英]Solutions for dynamic WCF client proxy in Silverlight?

我目前需要从Silverlight(3.0)应用程序中访问WCF服务,但是我需要它是动态的。
我可以访问的内容:服务接口(ServiceContracts)和数据定义(DataContracts)。
我需要的是:运行时生成/创建的WCF客户端代理。

有解决方案吗?

我发现了这个“旧”帖子(2008年9月16日)。
但是我无法使其在Silverlight 3.0下正常运行(没有尝试使用Silverlight的早期版本)。

WorkSight博客»博客存档»Silverlight中的动态WCF客户端代理

让我们知道你们中是否有人设法使它成功! :)

我的理解是,如果您遵循了解Silverlight 2中的WCF服务中所述的客户端访问过程,则应该能够选择在运行时访问哪个服务,因为您无需在客户端创建代理。

本文摘录:

现在我们可以将注意力转向客户端应用程序。 首先,让我开始提醒大家,您永远不要在Visual Studio中使用“添加服务参考”来创建神奇的服务客户端。 该代码非常冗长,难以管理,编辑易于被覆盖,并且几乎总是被用作借口而未真正学习WCF。

正如我已经多次提到的,WCF依赖于ABC的概念。 对于.NET和Silverlight,您都将地址和绑定与合同合并在渠道工厂中以创建渠道。 这不仅仅是花哨的概念架构师所说的,这恰恰是您的代码的样子(真正好的体系结构的标志!)以下是我所指的.NET版本:

BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:1003/Person.svc");
IPersonService personService = new ChannelFactory<IPersonService>(basicHttpBinding, endpointAddress).CreateChannel();

Person person = personService.GetPersonData("F488D20B-FC27-4631-9FB9-83AF616AB5A6");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM