Skip to main content
 首页 » 编程设计

c#之WebMethod c# return double[]

2024年01月13日34JeffreyZhao

我的 WebMethod 有一个问题,它的返回类型是 double[]。我正在尝试以形式访问此方法,但结果是:

反序列化操作“FIR”的回复消息正文时出错。来自命名空间“http://google.com/”的结束元素“FIRResult” ' 预期的。从命名空间“http://google.com/”中找到元素“double” '.第 1 行,位置 278。

示例代码:

private void submit_Click(object sender, EventArgs e) 
        { 
            int N = int.Parse(textBox1.Text); 
            int fN = int.Parse(textBox6.Text); 
            int fS = int.Parse(textBox5.Text); 
            int rippleLimit = int.Parse(textBox4.Text); 
 
            double[] result = ws.FIR(N, (double)fN, (double)fS, rippleLimit); 
 
 
            this.Hide(); 
        } 
 
 
 [WebMethod] 
        public double[] FIR(int N, double fs, double fn, int rippleLimit) 
        { 
 
            double rippleDev; 
            List<double> result = new List<double>(); 
 
            List<double> signal = firDesign(N, fn, fs); 
            DTFT(signal, N, fs, fn, 1); 
 
            List<double> moduledSignal = moduleSignal(Service1.real, Service1.img); 
 
            rippleDev = calculateRippleDev(fn, moduledSignal); 
 
            result.Add(rippleDev); 
 
        for (int i = 0; i < moduledSignal.Count; i++) 
        { 
            result.Add(moduledSignal[i]); 
        } 
 
 
        return result.ToArray(); 
    } 

请您参考如下方法:

Web方法需要是static,试试:

[WebMethod] 
public static double[] FIR(int N, double fs, double fn, int rippleLimit) 
...