none
Web Application における非同期処理 RRS feed

  • 質問

  •  Windows Application における非同期処理の Sample Program を参考にして、Web Application の中に見よう見まねで下記のように書いてみました。ところが、と言うべきか、当然の事ながらというべきか、期待とはまったく異なる動作をするようです。そもそもWeb Application において Delegate を用いた非同期処理、という考え方が成立しない、ということでしょうか。あるいは何かの工夫で、非同期処理の Coding を行うことができるのでしょうか。もしかして、単純な Bug ?

      private delegate void AllDispDelegate();

      private void Button1_Click(object sender, System.EventArgs e) {
       AllDispDelegate edd = new AllDispDelegate(AllDisp);
       edd.BeginInvoke(new AsyncCallback(AllDispEnd), edd);
      }

      private void AllDisp() {
       for(int i=0;i<300;i++) {
        Random rnd;
        rnd=new Random(unchecked((int)DateTime.Now.Ticks));
        Label1.Text=(rnd.NextDouble()).ToString();
       }
      }

      private void AllDispEnd(IAsyncResult iar) {
       AllDispDelegate edd = (AllDispDelegate) iar.AsyncState;
       edd.EndInvoke(iar);
       Button1.Text="finis";
      }

    2007年2月11日 0:04

すべての返信