私は ac# winform デスクトップ アプリを持っています。[Web メソッド] を呼び出して、サーバー上のメッセージをチェックしています。
私は開発中であるため、この [Web メソッド] は、テスト クライアントが使用できるとは限りません。
それにもかかわらず、クライアントはまだこの [Web メソッド] を呼び出しています。
このシナリオ (私の PC ビルド) で、CPU 使用率が 25% になることに気付きました。
現在、[Web メソッド] がクライアントでwhile(true)
ループして呼び出されています。その後、[web メソッド] が再帰的に呼び出されます。
この while ループは、新しいスレッドによって開始されています。
私は ac# winform デスクトップ アプリを持っています。[Web メソッド] を呼び出して、サーバー上のメッセージをチェックしています。
私は開発中であるため、この [Web メソッド] は、テスト クライアントが使用できるとは限りません。
それにもかかわらず、クライアントはまだこの [Web メソッド] を呼び出しています。
このシナリオ (私の PC ビルド) で、CPU 使用率が 25% になることに気付きました。
現時点では、[Web メソッド] がクライアントで While(true) ループで呼び出されます。その後、[web メソッド] が再帰的に呼び出されます。
この while ループは、新しいスレッドによって開始されています。
Thread _th = new Thread(MyLoop);
_th.Start();
void MyLoop()
{
while (true)
{
if (Disconnect)
{
return;
}
string[] _requests = Shared.WSconnector.GetRequests(Shared.ActiveMac);
//do something with these server requests...
}
}
Web サービスの停止が最小限に抑えられることを願っていますが、それでも発生する可能性があることは明らかです。
この CPU の増加からクライアントを保護するにはどうすればよいですか?
ありがとう
Web サービスの停止が最小限に抑えられることを願っていますが、それでも発生する可能性があることは明らかです。
この CPU の増加からクライアントを保護するにはどうすればよいですか?