none
急!WCF中数组参数在SL中转化为ObservableCollection 类型 RRS feed

  • 问题

  • 急!WCF中数组参数在SL中转化为ObservableCollection 类

    WCF中[OperationContract]方法如下:

     public string[] ReturnArrayString(string StoredProcdureName, String[] ParameterName, String[] ParameterValue)
            {。。。。。

    }

    在SL中,发现String[] ParameterName, String[] ParameterValue都自动转变为ObservableCollection 类型,无法直接使用string[]数组.

    我哪里搞错了?


    菜爷
    2011年3月26日 7:33

答案

  • 高人指点,是因为WCF只能序列化一种格式的集合类型。要不就是ObservableCollection 类型,要不就是数组类型。系统默认使用的集合类型为ObservableCollection<T>。要修改WCF服务引用设置。问题是如果我既需要ObservableCollection 类型又需要Array类型,就不可能了。郁闷啊!
    菜爷
    • 已标记为答案 菜爷 2011年3月27日 7:11
    2011年3月26日 14:20
  • 数组和集合很类似的 可是使用的地方不一样的  集合比数组强大得多 你为什么非要用数组呢  你这个只能适应规范需求了
    • 已标记为答案 菜爷 2011年3月27日 7:11
    2011年3月27日 6:32

全部回复

  • 数组是个固定初始化的类型  不能用在这样方式

    你这是vs生成的代码 你自定义生成代码试试

    2011年3月26日 12:32
  • 高人指点,是因为WCF只能序列化一种格式的集合类型。要不就是ObservableCollection 类型,要不就是数组类型。系统默认使用的集合类型为ObservableCollection<T>。要修改WCF服务引用设置。问题是如果我既需要ObservableCollection 类型又需要Array类型,就不可能了。郁闷啊!
    菜爷
    • 已标记为答案 菜爷 2011年3月27日 7:11
    2011年3月26日 14:20
  • 数组和集合很类似的 可是使用的地方不一样的  集合比数组强大得多 你为什么非要用数组呢  你这个只能适应规范需求了
    • 已标记为答案 菜爷 2011年3月27日 7:11
    2011年3月27日 6:32
  • 嗯。问题是我使用的本来就是数组,而不是一个对象。用对象太麻烦,用数组一下子就搞定了,代码省了一大截。

    另外,我从WCF传过来的就是数据,而不是一个对象。否则,WCF要写的东西就太多了,


    菜爷
    2011年3月27日 7:11