wcf - 我*必须*在 Silverlight WCF 客户端中使用 ObservableCollection 吗?

标签 wcf silverlight

在 WCF 中访问 Silverlight 时,您将获得使用 ObservableCollection 生成的代理。

当你进行数据绑定(bind)时这很好,但当你只是调用一个方法时就有点笨拙了。例如下面的服务方法:

    [OperationContract]
    public SearchOrdersMsgOut SearchOrders(ShippingStatusType[] shippingStatuses,
                                           string[] orderId)
    {
    }

使用ObservableCollection生成。什么!它们只是参数。我为什么要“观察”它们?

如果我必须这样做,我就很好 - 但当我知道我从不进行数据绑定(bind)时,似乎应该有一种方法来强制使用简单的数组结构 - 特别是在输入消息上。

我更愿意这样做:

 searchCriteria.PaymentStatus = new [] { PaymentStatusType.PaymentFailed, PaymentStatusType.Unpaid };               

比这个:

 searchCriteria.PaymentStatus = new ObservableCollection<PaymentStatusType> { PaymentStatusType.PaymentFailed, PaymentStatusType.Unpaid };

有办法吗?

PS。我实际上使用 SearchCriteria 对象作为我的搜索条件 - 但我对此示例进行了简化,想知道参数是否以不同的方式处理。

最佳答案

您可以在整个服务范围内执行此操作,但不能针对每个方法执行此操作。在“添加服务引用”对话框中,单击“高级”,然后选择“System.Array”作为集合类型。但我不知道有什么方法可以逐个方法执行此操作,即对某些方法使用数组,对其他方法使用 ObservableCollection。

关于wcf - 我*必须*在 Silverlight WCF 客户端中使用 ObservableCollection 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1911441/

相关文章:

c# - 为什么我在连接到 wcf 服务时看到 "HTTP Error 400. The request hostname is invalid."

c# - 只有在通过应用程序而不是通过 Management Studio 运行查询时才会出现隐式转换错误

c# - 大型可滚动数据 SL4 的虚拟化性能问题

silverlight - 在 Silverlight 4 中托管 Microsoft Office 应用程序?

WCF 服务 - 尽管最大值很大,但根据大小几乎立即拒绝数据

c# - 将 JSON 数据发布到 WCF 服务时出现错误 415

C# 非静态字段、方法或属性需要对象引用 'HttpContext.Request'

.net - 如何为需要作为 Windows 服务运行但还具有 Web 界面的程序设计 .NET (C#)?

silverlight - Silverlight 4、MVVM 和 ItemsControl Z 索引

silverlight - 如何将焦点放在 DataForm 中的 TextBox?