פורסם 2016 בדצמבר 268 שנים הי, יש לי מערכת ישנה הכתובה ב asp.net 4.0. יש לי בה WebForm המכיל update panel ו Ajax Controls ToolKit ModalPopUpExtender. בדף הזה אני מבצע שליחת אימיילים למספר משתמשים בזה אחר זה באמצעות Task שאלתי היא כיצד אני יכול מתוך ה Task ו/או בסיומו לעדכן את ה ui כלומר את המשתמש ולתת לו התראות בדבר זה. Task sendMailTask = Task.Factory.StartNew((stateObj) => { // some code },2000); try { if (!sendMailTask.IsCanceled && !sendMailTask.IsFaulted) { StatusMessagesContainerModalDialog.Attributes["class"] = "modal-content alert-success"; StatusMessagesContainer.CssClass = "text-center"; Status.Text = "המכתב נשלח לנמענים שבחרת"; StatusMessagesModalPopup.Show(); } } catch (AggregateException ex) { StatusMessagesContainerModalDialog.Attributes["class"] = "modal-content alert-warning"; StatusMessagesContainer.CssClass = "text-center"; Status.Text = "הרעה שגיאה בשליחת המכתב לנמענים, אנא נסה/י שוב מאוחר יותר"; StatusMessagesModalPopup.Show(); } איך אני יכול לעדכן את ה controls ב thread של ה ui כך שאוכל להציף בפני המשתמש את המידע שהוא צריך. אודה לעזרתכם.
פורסם 2016 בדצמבר 278 שנים כל התעסקות עם ה-UI חייבת להתבצע מתוך הת'רד הראשי של האפליקציה. הפתרון הוא להשתמש ב-Invoke + InvokeRequired. ראה את התשובה הראשונה כאן: http://stackoverflow.com/questions/17123061/calling-methods-in-main-thread-from-other-threads
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.