我的 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)
...
