Silverlight:如何在使用WCF的时候动态指定服务地址

因为Silverlight做好的组件可以用在任意的网站,而其调用的WCF服务一般都不可能将地址固定地写在Silverlight控件内部,如何保持这种灵活性呢?

关键在于通过Application.Current.Host可以获取到一些必要的信息,请看下面的例子

BasicHttpBinding binding = new BasicHttpBinding(
Application.Current.Host.source.Scheme.Equals("https",StringComparison.InvariantCultureIgnoreCase)? 
BasicHttpSecurityMode.Transport : 
BasicHttpSecurityMode.None); 
binding.MaxReceivedMessageSize = int.MaxValue; 
binding.MaxBufferSize = int.MaxValue; 
return new ProductServiceClient(binding,
new EndpointAddress(new Uri(Application.Current.Host.source,"../ProductService.svc")));

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...