مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

طول کشیدن اجرای view

  • سه شنبه 4 آبان 1395
  • 08:56
تشکر میکنم

با سلام.

من در اکشن کدهای زیر رو نوشتم:

 string name = "", shoar = "";
            byte[] img = { };
            if (User.Identity.IsAuthenticated)
            {
                ApplicationDbContext context = new ApplicationDbContext();
                var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
                //کاربر لاگین شده IDبدست آودن =======================================================================================
                var user = User.Identity.GetUserId();
                //نام کاربر لاگین شده ================================================================================================
                name = UserManager.FindById(user).Name + " " + UserManager.FindById(user).Family;
                //عکس کاربر لاگین شده ================================================================================================
                img = UserManager.FindById(user).Pic;
            }
            //شعار هفته ==========================================================================================================
            var shoareHafte = from sh in talash.Tbl_ShoareHafte where sh.Active == true select new { sh.Title, sh.Date };
            int count = shoareHafte.Count();
            shoar = "شعاری وجود ندارد";
            if (count > 0)
            {
                shoar = shoareHafte.FirstOrDefault().Title;
            }
            //تعداد معلمان =======================================================================================================
            var teacher = from u in talash.Users
                          join t in talash.Tbl_Teacher on u.Id equals t.UserID
                          select u;
            int countTeacher = teacher.Count();
            //تعداد دانش آموزان =======================================================================================================
            var Student = from u in talash.Users
                          join t in talash.Tbl_StudentPayeh on u.Id equals t.StudentID_UserID_
                          select u;
            int countStudent = Student.Count();
            //تعداد اسلایدر ها  =======================================================================================================
            var Slider = from u in talash.Tbl_Slider
                         select u;
            int countSlider = Slider.Count();

            ViewBag.Name = name;
            ViewBag.img = img;
            ViewBag.ShoareHafte = shoar;
            ViewBag.countTeacher = countTeacher;
            ViewBag.countStudent = countStudent;
            ViewBag.countSlider = countSlider;
var Teacher = from u in talash.Users
                          join t in talash.Tbl_Teacher on u.Id equals t.UserID
                          join tp in talash.Tbl_TeacherRoleType on t.UserID equals tp.UserID_Teacher_
                          join r in talash.Tbl_TeacherRole on tp.TeacherTypeID equals r.TeacherTypeID
                          select new { u.Id, u.Pic, u.PNO, u.Name, u.Family, u.MelliCode,role=r.Name };
            List<TeacherForDisplayViewModel> StVM = new List<TeacherForDisplayViewModel>();
            for (int i = 0; i < Teacher.Count(); i++)
            {
                TeacherForDisplayViewModel st = new TeacherForDisplayViewModel();
                st.Family = Teacher.ToArray()[i].Family;
                st.ID = Teacher.ToArray()[i].Id;
                st.MelliCode = Teacher.ToArray()[i].MelliCode;
                st.Name = Teacher.ToArray()[i].Name;
                st.Role = Teacher.ToArray()[i].role;
                st.Pic = Teacher.ToArray()[i].Pic;
                st.PNO = Teacher.ToArray()[i].PNO;
                StVM.Add(st);
            }
            ModelState.Clear();
            return View(StVM);

آیا دیر اجرا شدن طبیعی است؟

چه کار کنم؟

لطفا راهنمایی نمایید

با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 4 آبان 1395
  • 09:27

شما کد پیچیده ای نوشتید

این زمان درست است ولی باید تا جایی که میتونید کدتون رو بهینه کنید تا سرعت لود پایین نیاد

میتونید thread کنید که کاربر منتظر لود صفحه نمونه

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • سه شنبه 4 آبان 1395
  • 11:23

استاد تا خط 42 دستوراتی هستند که در layout استفاده می شوند و بعدش هم پر کردن مدل و ارسال آن به ویو می باشد.

به نظر شما اینها زیادی هستند یا نیاز هستند؟

چطور بهینه کنم؟

از thread که گفتید چطور استفاده کنم؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 4 آبان 1395
  • 12:09
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)