2

我正在用 c# 和 xaml 为网站开发一个 Windows 8 商店应用程序(该网站位于 .net mvc 4 中)。在网站中,我可以创建、编辑和删除产品(我正在使用 sql server 2008 r2) . 在我的 w8 应用程序中,我调用 wcf 服务来获取数据并填充项目。我想知道在有人通过网站创建或编辑产品后,是否有办法通知或更新 w8 应用程序中的数据。我认为可能的解决方案之一是每次用户单击以查看产品列表时调用 wcf 服务,但我认为这不是一个好习惯。这是我的代码:

 //App.xaml.cs
 protected override async void OnLaunched(LaunchActivatedEventArgs args)
 {
     ServiceProduct serviceData = (ServiceProduct)App.Current.Resources["serviceProducts"];
     if (serviceData != null)
        {
            if (serviceData.ListaIos.Count == 0)
            {
                try
                {
                    await serviceData.GetListProductsAsync();
                }
                catch(ServiceException)
                {
                    var messageDialog = new Windows.UI.Popups.MessageDialog("Error");
                    var result = messageDialog.ShowAsync();
                }
            }
         }
 *** code ***
 }

 //Items page
 protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
 {
     // TODO: Assign a bindable collection of items to this.DefaultViewModel["Items"]

     ServiceProduct serviceData = (ServiceProduct)App.Current.Resources["serviceProducts"];
     if (serviceData != null)
           {
                 this.DefaultViewModel["Items"] = serviceData.GetProducts;
           }
  }


    public async Task GetListProductsAsync()
    {
        ProductServiceClient service = new ProductServiceClient();
        Product product;

        try
        {
            var wcfCall = await service.GetListaAsync();

            foreach (var item in wcfCall.List)
            {
                map product
                this.ListaIos.Add(product);
            }
        }
        catch(Exception)
        {
            throw new NotImplementedException();
        }
    }
4

0 回答 0