1

スレッドがどのように機能するかはよくわかりません。

これが私のコードです。送信ボタンをクリックすると:

protected void BtnSend_Click(object sender, EventArgs e)
{
    Thread threadA = new Thread(SendSMS);
    threadA.Start();
}

protected void SendSMS()
{
    //some validations here
    Thread threadB = new Thread(loadingScreen);
    threadB.Start();
    threadB.Join();
    //code that actually sends the required Mail
    threadB.Stop();
    loading.Visible = false;
}

threadB はこのメソッドを呼び出しています。これは基本的に div (読み込みと呼ばれます) であり、ユーザーが画面上で何かを押すことを無効にする読み込み div があります。

protected void loadingScreen()
{
    loading.Visible = true;
}

現在、メールは送信されていますが、ロード画面 (div) が表示されていません。私は何を間違っていますか?

4

4 に答える 4

0

なぜスレッド B を使用するのですか? threadA でのみ操作を実行できます。

protected void SendSMS()

{

//ここでいくつかの検証

loading.Visible = false;

//code that actually sends the required Mail

loading.Visible = false;

}

クロススレッド操作例外の警告。

于 2013-07-22T09:41:34.950 に答える
0

実際には、読み込みが表示され、すぐに非表示になります。Join は、Div を有効にするとすぐに復帰し、メールが送信されると、Div は再び無効になります。メールの送信と無効化は同じスレッドで行われます。

于 2013-07-22T09:28:09.053 に答える