WEB开发网
开发学院图形图像Flash Silverlight专题(16)- 动态设置WCF Service配置... 阅读

Silverlight专题(16)- 动态设置WCF Service配置信息

 2009-02-28 11:56:14 来源:WEB开发网   
核心提示: 部署时由于WCF Service的部署地址不同,将需要我们重新索引,Silverlight专题(16)- 动态设置WCF Service配置信息(4),并编译这个程序,非常繁琐你可以采用如下的动态配置的方式一举解决这个问题:删除ServiceReferences.ClientConfig文

部署时由于WCF Service的部署地址不同,将需要我们重新索引,并编译这个程序,非常繁琐

你可以采用如下的动态配置的方式一举解决这个问题:

删除ServiceReferences.ClientConfig文件,并在Silverlight 工程下添加一个类文件(Class File)ServiceUtil.cs如下

  1: public static ProductServiceClient GetDynamicClient()

  2: {

  3:   BasicHttpBinding binding = new BasicHttpBinding(

  4:   Application.Current.Host.Source.Scheme.Equals("https", StringComparison.InvariantCultureIgnoreCase) 

  5:   ? BasicHttpSecurityMode.Transport : BasicHttpSecurityMode.None);

  6:   binding.MaxReceivedMessageSize = int.MaxValue;

  7:   binding.MaxBufferSize = int.MaxValue;

  8:   return new ProductServiceClient(binding, new EndpointAddress(

  9:     new Uri(Application.Current.Host.Source, "../ProductService.svc")));

 10: }

上述就是通过动态的形式获取得到ProductService了

修改Page.xaml.cs文件如下

  1: void Page_Loaded(object sender, RoutedEventArgs e)

  2: {

  3:   ProductServiceClient client = ServiceUtil.GetDynamicClient();//动态获取ProductServiceClient

  4:   this.Cursor = Cursors.Hand;

  5:   client.RetreiveDataAsync();

  6:   client.RetreiveDataCompleted += (sender2, e2) =>

  7:                     {

  8:                       if (e2.Cancelled == false && e2.Error == null)

  9:                       {

 10:                         ObservableCollection<ProductInfo> products = e2.Result;

 11:                         this.ProductLBCtl.ItemsSource = products;

 12:                         this.Cursor = Cursors.Arrow;

 13:                       }

 14:                     };

 15: }

上一页  1 2 3 4 5  下一页

Tags:Silverlight 专题 动态

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接