2011-04-26 78 views
1

对于几天我一直在敲打我的头撞墙,试图找出是我与WCF服务和Silverlight有问题。暴露服务引用之间动态WCF与Silverlight的

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

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

所有的帮助都非常感谢,我想我会对这个疯了。

感谢

罗比

回答

2

是的,你可以做到这一点。您可以复制生成的文件“Reference.cs”,要做到这一点,您必须:

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

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

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

非常感谢您对于@Peyton Crow。这帮助了堆。从来不知道Reference.Cs信息已全部下载到客户端:) – 2011-04-28 04:23:47

+0

不客气,那个好! :) – 2011-04-28 05:43:25