예제 #1
0
        /// <summary>
        /// This is a javascript application.
        /// </summary>
        /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param>
        public Application(IApp page)
        {
            sprite.WhenReady(
                delegate
            {
                Console.WriteLine("WhenReady");
            }
                );

            sprite.With(
                async delegate
            {
                Console.WriteLine("before await");

                var e = new Stopwatch();

                e.Start();

                await sprite;

                Console.WriteLine("after await " + e.ElapsedMilliseconds);
            }
                );


            sprite.AutoSizeSpriteTo(page.ContentSize);
            sprite.AttachSpriteTo(page.Content);
            @"Hello world".ToDocumentTitle();
            // Send data from JavaScript to the server tier
            service.WebMethod2(
                @"A string from JavaScript.",
                value => value.ToDocumentTitle()
                );
        }
        public static TaskAwaiter <string> GetAwaiter(this ApplicationSprite sprite)
        {
            var s = new TaskCompletionSource <string>();


            sprite.WhenReady(s.SetResult);

            return(s.Task.GetAwaiter());
        }