【问题标题】:Exposing Service References Dynamically Between WCF & Silverlight在 WCF 和 Silverlight 之间动态公开服务引用
【发布时间】:2011-04-26 23:20:50
【问题描述】:

几天来,我一直在用头撞砖墙,试图解决我在使用 WCF 服务和 Silverlight 时遇到的问题。

我的问题是我有 5 个 Silverlight 项目模块,我将它们动态读取到一个主 Silverlight 应用程序中。这些模块中的每一个都有自己的业务层和 DAL,因此它自己调用其 WCF 服务,但是当我将模块加载到并尝试运行 WCF 命令时,我收到一条错误消息,指出我的 ServiceReference 不存在,这是因为服务是模块“ServiceReference.config”的一部分,而不是主项目服务参考。

我是否可以动态获取 Master Silverlight 项目以获取 ChannelFactory 的列表,然后创建通道并读取所有元数据并完全摆脱服务引用?您如何避免不得不使用服务引用?

非常感谢您的所有帮助,我认为我为此要疯了。

谢谢

罗比

【问题讨论】:

    标签: silverlight wcf mef channelfactory


    【解决方案1】:

    是的,您可以这样做。您可以复制生成的文件“Reference.cs”,为此,您必须:

    1. 显示项目中的所有文件。
    2. 展开服务参考并查找 Reference.cs。

    现在您可以将其复制并作为普通类添加到您的项目中,并删除应用程序的服务引用。对于 ChannelFactory,是的,您可以通过以下代码创建:

       ChannelFactory<IServiceContract> factory = new ChannelFactory<IServiceContract>(endpoint);
       IServiceContract channel = factory.CreateChannel();
    

    【讨论】:

    • 非常感谢@Peyton Crow。这帮助了很多。从来不知道 Reference.Cs 信息已完全下载到客户端:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多