我想通过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请求上下文
有人可以提出替代方案或解决方案吗?