0

データベース(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サービスを初めて使用すると魅力的に機能しますが、2回目にこのサービスを再度使用しようとすると、エラーメッセージが返されます。

"操作がタイムアウトしました"

私のコーディングについて

s1.Insert(a);

IISでWebサービスを再起動すると、Webサービスは再び正しく機能しますが、継続的に機能する必要があるため、機能しません。何か希望はありますか?

4

2 に答える 2

0

サーバーとの接続に問題があると思われます。サーバーへの接続を開くのに時間がかかりすぎてタイムアウトになると思います。そのため、このケースをデバッグして、サーバーへの接続を確認する必要があります。大丈夫です。

于 2012-05-17T10:20:34.300 に答える
0

私が見ることができる問題は、2回目の呼び出しのために残っているが、接続を開くことができなかったこのオブジェクトである可能性があります。

これを使用する代わりに、クラスのオブジェクトを作成します。

例えば

[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");
}
于 2012-05-17T10:25:30.557 に答える