我有两个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;
}
答案 0 :(得分:2)
该消息来自Parse方法(对于数字类型,DateTime等)。如果计算机使用不同的文化,则正确的格式会有所不同。如果这是问题,您可以通过使用不变文化来解决它。