输入字符串的格式不正确

时间:2011-05-13 04:47:15

标签: c# .net winforms web-services soap

我有两个Web服务函数,它们具有完全相同的接口(从C#/ Winform应用程序调用):

string[] f1(int, string[])string[] f2(int, string[])

我发送完全相同的数据。当我调用f1时,它工作正常并返回一个字符串[],但是,当我调用f2时,我得到一个SOAPException,说“输入字符串不是正确的格式”。

什么可能导致一个人工作而另一个人无法工作?

    private void backgroundWorkerUploadNew_DoWork(object sender, DoWorkEventArgs e)
    {
        List<String> submittedList = new List<String>();
        StreamReader reader = new StreamReader(this.textBoxFilename.Text);
        String data;

        while ((data = reader.ReadLine()) != null)
        {
            submittedList.Add(data);
        }
        reader.Close();
        // Send array of handset names to service
        int channelId = 0;
        string[] listToSubmit = submittedList.ToArray();
        channelId = AppStatus.CurrentChannel.ChannelID;
        String[] newHandsetsList = service.Function2(channelId, listToSubmit);
        ...
    }

网络服务方法

public List<String> Function2(int integer, List<String> strings)
{
    List<String> newList = new List<string>();
    DataTable tempDt = null;
    foreach (String s in strings)
    {
        String q = @"** SOME QUERY **";
        tempDt = Database.RunSql(q);
        ...
    }
    return newList;
}

1 个答案:

答案 0 :(得分:2)

该消息来自Parse方法(对于数字类型,DateTime等)。如果计算机使用不同的文化,则正确的格式会有所不同。如果这是问题,您可以通过使用不变文化来解决它。