الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحسين الاداء فى موقعك

بدأه bodaman22 في 18 أبريل 2011 · 3 رد · 1,075 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

اخوانى الاعزاء فى المنتدى

ده مقال جميل جدا قرائته و جبته ليكم اليوم علشان الجميع يستفيد منه

انا قابلت ناس كتير بتتكلم عن الاداء فى ال asp.net و بتقول عنه انه تقيل بس انا بقول لهم لا الخطا مش ال asp الخطا مننا احنا

خلينا نشوف مع بعض فى العشر خطوات دول

1- اول حاجة هى التخطيط و البحث

بحيث نبدا من حيث انتهى الأخرين و نشوف ايه اللى ممكن يجعلنا نقلل كمية الكود

2- الفرق بين String و StringBuilder

حيث ان اكترنا و انا منكم كنا بنستخدم

Dim str As String = ""

فى الوقت اللى المفروض نستخدم

Dim strbuilder As New StringBuilder()

ممكن مع بعض نشوف الفرق بينهم

Response.Write("<b>String Class</b>")
Dim str As String = ""
Dim startTime As DateTime = DateTime.Now
Response.Write(("<br>Start time:" + startTime.ToString()))
Dim i As Integer
For i = 0 To 99999
str += i.ToString()
Next i
Dim EndTime As DateTime = DateTime.Now
Response.Write(("<br>End time:" + EndTime.ToString()))
Response.Write(("<br># of time Concatenated: " + i.ToString))

Response.Write("<b>StringBuilder Class</b>")
 Dim strbuilder As New StringBuilder()
 Dim startTime As DateTime = DateTime.Now
 Response.Write(("<br>Start time:" + startTime.ToString()))
 Dim i As Integer
 For i = 0 To 99999
 strbuilder.Append(i.ToString())
 Next i
 Dim EndTime As DateTime = DateTime.Now
 Response.Write(("<br>Stop time:" + EndTime.ToString()))
 Response.Write(("<br># of time Concatenated: " + i.ToString))

فى الحالة الاولى ممكن ياخد 2 او 3 دقايق علشان ينفذ الكود

لكن فى الحالة التانية بياخد ثانية بالظبط معه انه نفس الكود

بس ايه السبب ؟؟؟؟!!!!!!

فى الحالة الاولى انه لما بيضيف STRING على STRING اخر بيجيب القديم و الجديد و يحطهم فى memory و يبدا بعد كده يحذف القديمة و ده بياخد وقت كبير طبعا

اما الحالة التانية بيعمل عملية تسلسلية و بالتالى مش بيهتم بالقديم

3 -

If Not IsPostBack Then 
LoadJScripts()
End If

طبعا كلنا عارفين

IsPostBack

معنها ان الصفحة لو طلبت للمرة التانية مش تنفذ الكود ده

و بالتالى كده يقلل الكود اللى بيتنفذ فى load

4-viewstate

اكتر الناس اللى بتشغل بتسيب اviewstate مفتوح

enableViewState="TRUE"

و مع ذالك مش بيستعمله

و ده غلط و بيخلى الصفحة تقيلة فى التحميل و تنفيذ الكود

طبعا يتم غلق الenableViewState كده

<%@ Page EnableViewState="false" %>

5-

نفس الفكرة مع الsession variables

بس دى يتم غلقها من ال

Web.config

<sessionState mode='Off'/>

6- Server.Transfer

الفرق بين ال

Server.Transfer و Response.Redirect

طبعا

Server.Transfer

اخف كتير من

Response.Redirect

بس فى الشغل الكبير اتوقع انه

Response.Redirect

دى احسن علشان لو فيه

QUERYSTRING

او تحميل اى اشياء اخرى فى الصفخة المطلوبة اما لو صفحة بسيطة لا Server.Transfer احسن

7 - exception handling

Try
value = HttpContext.Current.Session("Value").ToString
Catch ex As Exception
Response.Redirect("Main.aspx", False)
End Try

ده كده اتوقع انه خطا علشان هو بياخد وقت فى الخطا

مما يجعل الصفحة تستدعى بعد وقت

اما هنا

If Not HttpContext.Current.Session("Value") Is Nothing Then
value = HttpContext.Current.Session("Value").ToString
Else
Response.Redirect("Main.aspx", False)
End If

هنا استخدم قاعدة

IF

فقط

8. Disable tracing and debugging

<configuration>
   <system.web>
      <trace enabled="false" pageOutput="false" />
      <compilation debug="false" />
   </system.web>
</configuration>

بعد ما يتم الانتهاء من عمل المشروع يستحسن اغلاق ال tracing and debugging

9- Use stored procedures

هنا التعامل مع ال

stored procedures

بيكون اخف كتير

من التعامل ب QUERY

لأنه بياخد معه و هو رايح اسم ال SP فقط

10-

 Conn.Close()
     Conn.Dispose()

طبعا ال CONNECTION

لازم يتم اغلاقه

و عمل

Dispose()

له من ال

memory

و بكده اتوقع ان اداء مشروعك يكون احسن ان شاء الله عن الاول بعد العشر خطوات دول

اتمنى اكون افدتكم

3 −1
#2

بسم الله ما شاء الله عليك اخي العزيز

فعلا موضوع جميل جدا جدا وواضح بجد اشكرك من كل قلبي واسال الله ان يجعله في ميزان حسناتك

فعلا كتير بيستخدم طرق بتقل المشروع

ارجو التثبيت

Technical  Skills

  • Database
  • Microsoft SQL Server 2000/2005/2008 .
  • ADO.NET .
  • LINQ - Entity Framework
  • Oracle SQL 10G .
  • MYSQL.
  • Microsoft Access .

 

  • Web Language
  • Html5.
  • CSS3.
  • JavaScript-JQuery-Ajax
  • Web Services.
  • ASP.Net 2 , 3.5 , 4 .
  • ASP.NET MVC4
  • DevExpress 
  • Telerik
  • Php

 

  • Programming Language
  • Microsoft Visual Studio 2005 - 2008 - 2010 - 2012 
  • 4 , Microsoft C#.Net 2 , 3.5 .
  • Microsoft VB.NET.

 

 

 

Certifications

  1. University Certificate  .
  2. Deutsch A1 , A2 Certificate .
  3. Microsoft .NET Framework 2.0 - Web-based Client Development         
  4. Mastering PHP & MySQL

 

 

ERP Systems

  1. MSales
  2. Infinty

جزاكم الله كل خير

للتواصل

Email: ideal_male67@yahoo.com

Mobile : +201008265792

With My Best Wishes
Khaled Harby

-----------------------------------------------------------
اخر مواضيعي
من هنا

#3

السلام عليكم

الله يعطيك العافيه اخوي والله فرق كبير في السرعه

#4

شكرا أستاذنا الكريم

جاري التجريب

لا تحرمنا من دروسك

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

مواضيع مشابهة