通过asmx Web服务不断向数据库插入数据

时间:2012-05-17 10:18:03

标签: c# sql web-services iis asmx

我有一个将数据插入数据库(Xampp)的Web服务(托管在IIS上)

[WebMethod]
public void Insert(int a)
{
        string query = "INSERT INTO result (A) VALUES('" + a + "')";          

        if (this.OpenConnection())
        {
            MySqlCommand cmd = new MySqlCommand(query, connection);   
            cmd.ExecuteNonQuery();       
            this.CloseConnection();
        }
}

我第一次使用这个Web服务时它很有魅力,但是当它第二次尝试再次使用此服务时,它会返回一条错误消息

“操作已超时”

关于我的编码

s1.Insert(a);

当我在IIS中重新启动我的Web服务时,Web服务再次正常工作,但它不能工作,因为它必须连续工作。有希望吗?

2 个答案:

答案 0 :(得分:0)

接收到与服务器连接时出现问题,我认为打开与服务器的连接需要花费太多时间,这会导致超时,因此您必须调试此情况并确保连接到服务器没问题。

答案 1 :(得分:0)

我可以看到的问题可能是你的这个对象仍然是第二次调用但它无法打开连接。

制作班级的对象,而不是使用它。

例如

[WebMethod]
public void Insert(int a)
{
        string query = "INSERT INTO result (A) VALUES('" + a + "')";          
        YourClass obj = new YourClass();
        //Open connection here
        if (obj.OpenConnection())
        {
            MySqlCommand cmd = new MySqlCommand(query, connection);   
            cmd.ExecuteNonQuery();       
            this.CloseConnection();
        }
        else
            throw new Exception("Problem in opening connection");
}