是否可以在运行时重写silverlight应用程序资源?

时间:2012-05-02 18:16:31

标签: wcf silverlight

ServiceReferences.ClientConfig文件包含Silverlight应用程序正在使用的WCF服务的不同设置。很好,很简单,除非你设置它们,否则你不能在不修改xap的情况下更改它们。

我想让这些设置可以轻松配置。 有几种选择:

  • 在web.config中添加专用部分,管理员可以在其中进行更改。将这些设置传输到silverlight,然后在页面上渲染对象。在Silverlight中解析它,然后手动构建通道。我宁愿避免的东西。
  • 如果我们可以说Silverlight应用程序不是从xap资源加载ServiceReferences.ClientConfig,而是从指定的uri加载,那将是很好的。这样我就可以在web.config中放置这个配置。尼斯。虽然不可能。
  • 如果我可以替换资源流解析器,那也可以。可悲的是,它似乎也不可能。有IApplicationResourceStreamResolver,但它是内部的。
  • 也许有一种方法可以在启动Silverlight应用程序后重写应用程序资源流?

1 个答案:

答案 0 :(得分:2)

我想你想在运行时创建servicesclient配置文件。

如果是这种情况,则只需创建System.ServiceModel.BasicHttpBinding的对象并分配属性并将服务URL分配给System.ServiceModel.EndpointAddress。然后可以将此绑定对象和endpointaddress对象分配给客户端对象构造函数并瞧!