2012-07-13 89 views
1

你好我终于完成了我的web服务和客户端,它从客户端正常工作如何,当我尝试从我的web浏览器访问de服务器我收到错误无法序列化对象类型System.Double [,]否支持多维数组。我认为这是由于我的webmethod返回一个多维数组,我怎么需要返回这个数组,有人帮助尝试解决这个错误或如何工作它呢 注:我是usign C#,asp.net。 IIS,写在记事本,不使用Visual Studio的无法序列化对象类型System.Double [,]?

+5

你为什么用记事本写自我惩罚? VSExpress应该可以大大减轻您的开发体验! – spender 2012-07-13 13:08:33

+0

@spender这是因为我的调查必须展示如何通过你自己一步一步做到这一点,而不是依靠像VS这样的软件:D是的,我知道它更多的工作和愚蠢,但这就是他们如何命令我的如何做我的工作:'( – JUAN 2012-07-13 13:17:38

回答

5

进行重新编码您的数据double[][]

这里有一个方法要这么做:

public static T[][] ConvertToJaggedArray<T>(T [,] multiArray) 
{ 
    int numOfColumns=multiArray.GetLength(0); 
    int numOfRows=multiArray.GetLength(1); 
    T[][] jaggedArray = new T[numOfColumns][]; 

    for (int c = 0; c < numOfColumns; c++) 
    { 
     jaggedArray[c] = new T[numOfRows]; 
     for (int r = 0; r < numOfRows; r++) 
     { 
      jaggedArray[c][r] = multiArray[c, r]; 
     } 
    } 

    return jaggedArray; 
} 
+0

不错的代码,但有一个问题,它可能是非常愚蠢的,但我怎么从我的主叫方法?我的previus方法有这样的事情:public double [,] Parametros(int a,int b,string d,DateTime startTime,out double [,] array1,out string time1,out DateTime start_F)其中a和b是数组的长度return是一个多维数组,具有许多双精度值 – JUAN 2012-07-13 13:43:18

+0

根据您的代码我已经开发了我自己的谢谢你的答案 – JUAN 2012-07-13 14:47:21

相关问题