几天来,我一直在用砖头撞墙,试图找出我在WCF服务和Silverlight上遇到的问题。
我的问题是我有5个Silverlight项目模块,我动态地读入一个主Silverlight应用程序。这些模块中的每一个都有自己的业务层和DAL,因此它自己调用其WCF服务,但是当我将模块加载到并尝试运行WCF命令时,我收到一条错误消息,指出我的ServiceReference不存在,这是因为服务是模块“ServiceReference.config”的一部分,而不是Master项目服务参考。
我是否可以动态获取Master Silverlight项目以获取ChannelFactory的列表,然后创建频道并读入所有元数据并完全摆脱服务反馈?你如何避免使用服务参考?
非常感谢你的所有帮助,我想我对这个问题感到疯狂。
由于
罗比
答案 0 :(得分:2)
是的,你可以这样做。您可以复制生成的文件“Reference.cs”,为此,您必须:
现在您可以将其复制并作为普通类添加到项目中,并删除应用程序的服务引用。对于ChannelFactory,是的,您可以通过以下代码创建:
ChannelFactory<IServiceContract> factory = new ChannelFactory<IServiceContract>(endpoint);
IServiceContract channel = factory.CreateChannel();