使用 ASP.NET 创建 XML Web services 不支持多维数组

今天尝试用web服务传递一个字符串的二维数组,但是却出现如下症状,搜索了一下,在微软支持中心找到了答案。。

症状:
尝试通过使用包含返回类型或是多维数组的参数类型的 Web 服务方法从 Web 服务中获取 Web 服务描述语言 (WSDL) 文档时收到下面的 HTML 错误消息:
无法序列化类型 System.String [,] 的对象。 不支持多维数组。

如果调用 Web 服务,将生成异常。

使用 ASP.NET 创建的 XML Web services 不支持多维数组。

解决方案:
而不是使用多维数组,使用以下代码来指定数组的数组 (即,交错数组):

Visual C# .NET example:
  1. [WebMethod]
  2. public string[][] ReturnMultiDimArray() 
  3. {
  4.   string [] y = {"ab","cd"};
  5.   string [] z = {"ef","gh"};            
  6.   string [][] x = {y,z};            
  7.   return x;
  8. }
Visual Basic .NET example:
  1. <WebMethod> Public Function ReturnMultiDimArray() As String()()
  2.   Dim y As String()
  3.   Dim z As String()
  4.   Dim x As String()() = New String()() {y, z}
  5.   Return x
  6. End Function
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值