每次请求时,Web服务都会返回不同的值

时间:2017-03-28 08:24:48

标签: c# web-services

我在c#上运行了一个Web服务,但最近发生了一些奇怪的事情。即使我从一个只有1个值的简单表中查询:

string str = "";
using (SqlConnection connection = new SqlConnection(ConfigurationSettings.AppSettings["Main.ConnectionStringTD"]))
{
    connection.Open();
    try
    {
        SqlCommand selectCommand = new SqlCommand
        {
            CommandType = CommandType.Text,
            Connection = connection,
            CommandText = "select Version from TN_Version"
        };
        str = selectCommand.ExecuteScalar().ToString();
    }
    catch (Exception exception)
    {
        str = "ERROR:" + exception.Message + "_" + exception.InnerException.Message;
        Console.WriteLine(exception.Message ?? "");
    }
    return str;
}

当我在本地调试时,这总是返回正确的值,但每当我在主机上发布此服务并执行它时返回错误消息:

  

位置0没有行。

这真的很奇怪,因为这是一个简单的表,绝对没有任何改变或删除它的价值......

Error

我必须执行该服务3到4次,直到它得到正确的值:

<string xmlns="http://webservice.com/">6.7</string>

请有人帮助我,这一直困扰着我。非常感谢你(真的)

1 个答案:

答案 0 :(得分:0)

错误消息只表示查询没有返回任何行。也许,在您托管应用程序后,IIS或防火墙导致连接中出现此问题。检查防火墙是否已关闭并检查IIS用户帐户的权限。