通过WCF服务通过可观察集合发送DataBase表,并在Windows Phone应用程序中使用它

时间:2014-11-14 14:50:43

标签: windows windows-phone-8 windows-store-apps

我想通过WCF服务发送一个observablecollection对象,并在windows phone 8 app中接收它。 服务如下。

    public ObservableCollection<State> GetName()
    {

        StateEntities objEntities = new StateEntities();
        ObservableCollection<State> stateCollection = new ObservableCollection<State>();
        foreach (State s in objEntities.States)
        {
            stateCollection.Add(s);
        }
        return stateCollection;
    }

State是一个包含表中数据的类。合同如下:

   public interface IHost
    {
        [OperationContract]
        string DoWork();
        [OperationContract]
        ObservableCollection<State> GetName();
    }

现在我想在Windows Phone应用程序中使用该服务。 按钮单击应触发服务消耗,从服务获取数据作为可观察集合并将其提供给网格视图。

public sealed partial class MainPage : Page
    {

     ServiceReference1.HostClient proxy;

 public MainPage()
        {
            proxy  = new HostClient();
            this.InitializeComponent();            
        }

 private async void Button_Click(object sender, RoutedEventArgs e)
        {

            ObservableCollection<State> stateCollection = new ObservableCollection<State>();
            stateCollection = await proxy.GetNameAsync();
            dataGrid.ItemsSource = stateCollection;
        }
}

但它在await行中抛出异常。 这是例外。

  

类型&#39; System.ServiceModel.CommunicationException&#39;的例外情况   发生在mscorlib.dll中但未在用户代码中处理

     

其他信息:接收HTTP时发生错误   响应&#34; ttp:// localhost:65338 / Host.svc。&#34;这可能是由于   服务端点绑定不使用HTTP协议。这也可以   是由于服务器中止了HTTP请求上下文

有人可以提出替代方案或解决方案吗?

0 个答案:

没有答案