ارائه يک مدل مناسب بمنظور گذر از ASP کلاسيک و رسيدن به ASP.NET New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 پنجشنبه  5  مرداد  1396  2017  Jul.  27   Thursday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

  از ASP کلاسيک تا ASP.NET ( بخش اول )

 مديريت وب

8355

5

3.4

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

حرکت  از ASP کلاسيک بسمت ASP

از ASP کلاسيک تا ASP.NET ( بخش اول )

پيا ده سا زی نرم افزار تحت وب دارای سا بقه ای چندين سا له بوده و تا کنون دستخوش تحولات متعددی گرديده است . تما می تحولات بوجود آمده ، ريشه در سير صعودی نيا زها ومطرح شدن انتظا رات جديد از اينترنت و مهمترين سرويس آن يعنی وب دارد. اگر سال 1996 ميلادی را نقطه عطفی در زمينه طراحی و پيا ده سازی نرم افزارهای تحت وب بدانيم ، قطعا" می بايست به نقش تکنولوژی های متفا وت که امکا ن خلق آثار نرم افزاری بر روی بستر وب را فراهم نموده اند ، مرور مجددی داشت .
تکنولوژی ASP يکی از پيشکسوتا ن در اين زمينه می با شد. با عرضه تکنولوژی فوق و استقبا ل برنامه نويسان بيشماری در سطح دنيا، ASP بسرعت جايگا ه و مکانی رفيع را پيدا نمود. تکنولوژی فوق ، طی ساليان متما دی توانست به خيل عظيم نيازها بدرستی و بخوبی پاسخ دهد. ASP آن روز، که امروزه با نام ASP کلاسيک از آن يا د می گردد ، گرچه کا مل ترين  تکنولوژی در زمينه آفرينش آثا ر نرم افزار تحت وب نيست ، ولی قطعا" يکی از بهترين گزينه ها در اين زمينه می با شد. . ماحصل تما می تلاش های انجام گرفته شده طی سا ليان قبل ، انقلابی عظيم در زمينه بکارگيری نرم افزار های تحت وب از زاويه استفاده کننده بود. با توجه به رشد تصاعدی خواسته ها  و مطرح شدن نوع خاصی از انتظارات ، نياز به يک تکنولوژی قدرتمند تر بهمراه زير ساخت ها و چارچوپ های مناسب ، طی ساليان اخير بشدت احساس می گرديد. بر همين اساس شرکت ما کروسافت پروژه معروف دات نت را مطرح نمود. يکی از اهداف اساسی و مهم در پروژه فوق ، ارائه يک مدل و ساختا ر جديد برنامه نويسی تحت وب است . مدل فوق ، بستر مناسب برای گفتما ن برنامه ها بر روی بستر وب را ايجاد خواهد کرد ، چيزی که از آن بعنوان انقلابی ديگر در عرصه برنامه نويسی تحت وب نام برده می شود. در اين مقاله قصد پرداختن به شاخص ها ، ويژگی ها و شا ه کليدهای مطرح در دات نت را نداريم . هدف پرداختن به مواردی است که از منظر برنامه نويسان ASP حائز اهميت است . عرضه و معرفی ASP.NET بهمراه برخی ديگر از تکنولوژی ها در دات نت، کا نون توجه برنامه نويسان ASP قرار گرفته است . تمامی برنامه نويسا ن وب که تا کنون بکمک ASP آثا ر خود را خلق می کردند ، با نگا هی عميق و کنجکا وانه  بدنبال  ASP.NET هستند. برنامه نويسان، در مرحله اول تما يل دارند که با دستا وردها و امکا نات ASP.NET آشنا شده و قادر به استفاده از پتانسيل های ارائه شده در کوتا هترين زمان ممکن و با روشی کاملا" علمی باشند. در مرحله دوم می بايست تکليف ميليون ها صفحاتی را که توسط ASP کلاسيک ايجاد شده و تاکنون نيز به ارائه خدمات و مسئوليت های محوله ادامه می دهند ، روشن گردد.
در اين مقاله سعی خواهد شد که با ارائه يک مدل علمی و عملياتی ، منا سبترين روش ها بمنظور گذر از ASP کلاسيک و رسيدن به ASP.NET ، ارائه و بررسی گردد. با مطالعه مقاله فوق از يکسو با برخی امکانات و ويژگی های ASP.NET آشنا شده و از سوی ديگر نحوه گذر از ASP کلاسيک و پرداختن به ASP.NET نيز تبين خواهد شد.
 اهم مطالبی که در اين مقاله به آنها پرداخته خواهد شد بشرح ذيل می باشند:

  • ضرورت های حرکت به سمت ASP.NET . در ابتدا به اين پرسش مهم پاسخ داده خواهد شد که چرا می بايست بسمت دانت نت حرکت نمود؟

  • معرفی اوليه ASP.NET . در اين بخش به تشريح برخی از ويژگی های مهم دانت نت اشا ره خواهد شد .

  • تغييرات کليدی و اساسی بين ASP و ASP.NET. در اين بخش به بررسی برخی از تفاوت های مهم موجود بين دو تکنولوژی فوق اشا ره خواهد شد.

  • نحوه حرکت از ASP بسمت ASP.NET . در اين بخش نحوه تبديل برنامه های نوشته شده ASP توسط  VBScript تشريح می گردد . 

  • نحوه حرکت نرم افزارهائی که از عناصر COM استفاده می نمايند. در اين بخش نحوه تبديل و استفاده از عناصر Com بهمراه ASP.NET تشريح خواهد شد.

  • نحوه حرکت نرم افزارهائی که از بانک های اطلاعاتی استفاده می نمايند. در اين بخش نحوه تبديل و استفاده از با نک های اطلاعاتی در ASP.NET تشريح خواهد شد.

  • نحوه حرکت بصورت عملی  . نحوه عملی ترکيب کدهای نوشته شده ASP کلاسيک وASP.NET تشريح خواهد شد.

  • پاسخ به برخی سوالات متداول  در خصوص سازگاری بين ASP و ASP.NET

بخش اول : ضرورت های حرکت به سمت ASP.NET
بمنظور پا سخ به سوال فوق در ابتدا می بايست مشخص نمود که تکتولوژی فوق چه خدمات و امکاناتی را ارائه می دهد :
افزايش  قا بليت های  توسعه  و اعتماد . .با استفاده از دات نت قابليت اعتما د و توسعه  به شدت افزايش خواهد يافت .امروزه استفاده از تکنولوژی فوق در مزارع وب و باغ های وب ضرورت داشته و اين نوع برنامه ها می بايست همه روز و بصورت شبانه روزی خدمات خود را بصورت بهنگا م  ارائه نمايند.
▪ افزايش حداقل دو تا سه برابر کارائی  . با استفاده از تکنولوژی دات نت و صرفا"  با تبديل برنا مه های نوشته شده با ASP  به دات نت کارائی برنامه ها  به ميزان دو تا سه برابر افزايش خواهد يافت
▪ دارای ماهيتی کاملا" سازگار با مرورگرها . دات نت کاملا" سازگار با انواع مرورگرها بوده  و ضرورتی  به نوشتن کدهای اختصاصی  بمنظور مشاهده در يک مرورگر خاص  وجود نخواهد داشت .
▪ دارای کنترل های سرويس دهنده مورد حمايت ويژوال دات نت و امکانات مربوط به پيکربندی . ASP.NET  دارای مجموعه ای وسيع از کنترل های سرويس دهنده می باشد که با توجه به حما يت ويژوال دات نت از تکنولوژی فوق ، زمينه بکارگيری آسان آنها فراهم خواهد شد. در ضمن دات نت دارای امکا نا ت گسترده در زمينه پيکربندی اتوما تيک نيز می باشد.
▪ بکارگيری آسان کدها . صفحا ت و عنا صر طراحی شده بکا رگيری صفحات و حتی عناصر  را تسهيل خواهد بخشيد . نظير دستور معروف کپی
▪ اشکال زذائی بهتر و رديابی سا ده خطاء . با استفاده از دات نت می توان از امکانا ت گسترده مربوط به اشکال زدائی و رديابی خطا در برنامه که آرزوی هر برنامه نويس است ، بسادگی استفاده کرد.
▪ جداسازی محتويات از کدها . با استفاده از مدل جداسا زی کدها از محتويات ، می توان صفحاتی را داشت که کدهای مربوط به عمليات مورد نظر در صفحه را بدرستی کنترل و هدايت نما يند .
▪ استفاده از خصايص و ويژگی های جديد Cashing  . بمنظور افزايش کارائی برنامه ها در دات نت ، می توان از ويژگی های جديد سيستم Cashing استفاده نمود.
▪ توسعه بهينه خصلت های  مربوط به مديريت وضعيت  برنامه . امکان مديريت و کنترل وضعيت يک برنامه با استفاده از امکانات پيش بينی شده در دات نت بسهولت انجام خواهد شد
▪ امکان اجرای صفحات ASP و ASP.NET در کنار هم . همچنان امکان استفاده از برنامه های سنتیASP در کنار دانت نت نيز وجود خواهد داشت .
▪ و بسياری ديگر از ويژگی هائی که در اين مقاله فرصت پرداختن به آنها وجود ندارد .

قبل از حرکت
قبل از حرکت بسمت ASP.NET می با يست با موارد موجود در اين زمينه آگاهی لازم را کسب نمود. برای حرکت بسمت ASP.NET مدل  آموزشی خا صی ، می با يست دنبال گردد.در ابتدا لازم است نسبت به ASP.NET شناخت مناسبی پيدا گردد . در ادامه با برخی تغييرات کليدی بوجود آمده می بايست آشنا گرديد. در اين راستا لازم است که با برخی کدهای رايج بمنظور اعمال تغييرات نيز آشنا گرديم .
بخش دوم : معرفی اوليه ASP.NET
بمنظور حرکت بسمت ASP.NET می با يست  شناخت  اوليه ای  در رابطه با دات نت وجود داشته با شد. دات نت چيست ؟
▪ يک چارچوب جديد برای برنامه نويسی تحت وب است .
▪ ASP.NET يک مدل از خانه تکانی ASP کلاسيک است .
▪ ASP.NET بعنوان عضوی از پلات فورم دات نت مطرح می گردد.
▪ ASP.NET ترجمه شده و بمراتب سرعت بالاتری را بدنبال خواهد داشت .
▪ ASP.NET از يک مدل متکی بر رويداد  پيروی می نمايد.
▪ با استفاده از ASP.NET می توان با يک سرعت قابل قبول اقدام به طراحی برنامه های تحت وب و سرويس های وب نمود.
▪ با استفاده از ASP.NET می توان خالق برنامه ها ئی گرديد که بر روی هر نوع دستگا ه و يا مرورگری اجراء خواهند شد.
▪ يکی از ملزوما ت اساسی و اجباری برای استفاده از ASP.NET داشتن يکی از نسخه های ويندوز 2000 برای ميزبا نی و پياده سا زی برنامه های متکی بر ASP.NET است .

معماری ASP.NET
در اين بخش نگاهی سريع به ساختا ر و معماری بکا رگرفته شده در ASP.NET خواهيم داشت . طراحان و ايجاد کنند گا ن تکنولوژی فوق  ، نهايت سعی خود را نموده که محصول فوق ماژولار و قابل توسعه باشد. مثلا" در صورتيکه علاقه ای به داشتن مديريت Session در صفحات ASP.NET  نداشته باشيم ،می توان آن را با روتين های مديريتی خود جايگزين نمود . (عمليانی که در ASP کلاسيک امکان تحقق آن وجود نداشت) . يکی ديگر از اهداف طراحان تکنولوژی فوق استقلال اجراء و عدم وابستگی به IIS است . بدين منظور  آيتمی با نام HTTP زمان اجراء ، ايجاد شده است .HTTP زمان اجراء ، يک زيرساخت اسا سی بمنظور پردازش سطح پايين HTTP را ايجاد خواهد کرد. امکان فوق  جايگزينی مناسب و منطقی برای فيلترهای ISAPI و انشعا با ت مربوطه بوده و بگونه ای طراحی شده است که توانائی افزودن ، حذف و يا جايگزين نمودن عناصر اساسی ASP.NET را دارا باشد. زمانيکه درخواستی به بخش Http زمان اجراء ارسال  می گردد ،درخواست فوق از بين تعداد زيا دی از ماژول های Http عبور داده خواهد شد.ماژول های فوق قبل و بعد از اجرای Handler اجراء خواهند شد.اين ماژول ها ، امکان تفسير  و نها يتا" اجراء را فراهم می نما يند . متدهای خاصی بهمراه ما ژول های Http توسط رويدادها و فايل های Global.asax يکسان سازی خواهند شد. چندين متد ماژولار می توانند به هر يک از رويدادهای در سطح  برنامه ها ، سينک گردنند. مثلا" ماژول های Windows Authentication و Passport Authentication هر دو به متدی با نام OnEnter با استفاده از رويدادی با نام AuthenticateRequest سينک خواهند شد.در خواست مورد نظر  بين هر ماژول حرکت  و در نهايت توسط HTTP handler پردازش خواهد شد. هندلرها ، بمنظور پردازش درخواست های منفرد استفاده می گرددند. هندلرها امکان پردازش URLs و يا گروه ها ئی از ضمائم URL را بهمراه يک برنامه فراهم خواهند  کرد. برخلاف ماژول ها ،  فقط يک هندلر بمنظور پردازش يک درخواست استفاده می گردد. پس از اينکه هندلر عمليات مربوط به درخواست را به اتمام رساند ، درخواست مسير خود را  بصورت وارونه طی نموده و به ماژول برگردانده تا به حيات آن خاتمه داده شود. در زمان  حيات يک درخواست ،  يک شی با نام HTTP Context object  مسئوليت کپسوله نمودن تمامی اطلاعات مرتبط با شی را برعهده خواهد داشت .

نحوه پردازش درخواست های  مبتنی بر ASP.NET
زمانيکه درخواستی برای يک صفحه aspx واصل می گردد ، درخواست فوق به handler مربوطه داده خواهد شد. در صورتيکه اولين  مرتبه ای  است که صفحه درخواست می گردد ، صفحه مورد نظر ترجمه و با کلاس مربوط به کدهای استفا ده شده ترکيب خواهد شد.( کلاس CodeBehind چيزی را توليد خواهد نمود که  کلاس صفحه ناميده می شود) در حقيقت کلاس ايجاد شده بصورت Dll بوده  و در يک فهرست موقت ذخيره خواهد گرديد. (Cashed) در ادامه کلاس فوق ، اجراء و تمامی منطق مورد نيا ز  بمنظور اجرای تگ های مورد نظر Html توليد و ماحصل عمليات  برای متقاضی ارسال خواهد شد. زمانيکه مجددا" صفحه فوق درخواست  گردد ، يک نمونه از کلاس فوق که قبلا" Cashe شده است ، ايجاد و مجددا" تگ های Html توليد و پاسخ مربوطه برای متقاصی ارسال خواهد شد. در اين مرحله برخی از عمليات نظير پارسينگ ، ترجمه و ... حذف و قطعا" زمان پاسخ گوئی به درخواست مورد نظر کاهش پيدا خواهد کرد.  

چرخه حيات يک صفحه ASP.NET
يکی از تفاوت های اساسی صفحات ASP با ASP.NET ، روشی است که صفحه پردازش می گردد. در مدل ASP.NET پردازش صفحه متکی بر رويداد است . رويداد Page_Init اولين رويدادی است که فعال خواهد شد.روتين پاسخگو در مقابل رويداد فوق ، مسئوليت مقداردهی متغيرها و ساير کنترل های استفاده شده در صفحه را برعهده خواهد داشت . در رويداد فوق تمامی کدهای مربوط  به مقدار دهی اوليه مستقر خواهند شد. در ادامه رويداد Page_Load فعال خواهد گرديد. در اين لحظه تمامی کنترل ها و صفحات فعال خواهند گرديد.رويداد فوق يکی از پرکاربردترين رويداد های استفاده شده است. کنترل ها در ASP.NET دارای رويدادهای مربوط به خود می باشند.مثلا" يک کنترل Text Box ، می تواند دارای رويداد Change و يا رويداد Click باشد. پس از فعال شدن رويداد Page_Load تمامی رويدادهای Change مربوط به کنترل ها در ابتدا پردازش و در ادامه رويداد Click پردازش خواهد شد. قبل  از ارائه  نمودن صفحه ، رويداد Page_PreRender فعال و در ادامه صفحه مورد نظر ، پس ازفعال شدن رويدادpage_unload از حافظه خارج خواهد شد. در زمان استفاده از  ASP.NET بدفعات از رويدادهای فوق استفاده خواهد شد. 

مدل های برنامه نويسی ASP.NET
برای برنامه نويسی صفحات  ASP.NET ، می بايست از يکی از دو مدل  تک صفحه ای و يا دو صفحه ای استفاده کرد .
در مدل تک نسخه ای صرفا" يک فايل با انشعاب aspx را خواهيم داشت ( مشابه ASP کلاسيک ) که در آن تگ های Html ، تگ های مربوط به کنترل ها و خود صفحه قرار خواهند گرفت . ( در زمانيکه قصد سوئيچ نمودن از مدل ASP کلاسيک را داشته باشيم مدل فوق بسيار موثر و سريع خواهد بود) در مدل دو صفحه ای که با نام Code-Behind نيز ناميده می شود ، از دو صفحه با عملکردهای کاملا" متفاوت استفاده می گردد. در اولين صفحه که با انشعاب aspx خواهد بود تگ های Html و تگ های مربوط به کنترل ها قرار خواهند گرفت .در فايل دوم صرفا" کدهای مربوطه قرار خواهند گرفت . انشعاب فايل فوق با توجه به زبان استفاده شده ( VB.NET,C# C) بصورت : aspx.vb  و يا aspx.cs خواهد بود. مدل فوق توسط ابزار پياده سازی ويژوال استوديو مورد استفاده قرار می گيرد. در مدل فوق بصورت واقعی عمليات مربوط به تفکيک کد و محتويات انجام خواهد شد.  

معرفی برخی از ويژگی های  مهم ASP.NET
در اين بخش لازم است که به برخی از ويژگی های اساسی ASP.NET اشاره گردد. ASP.NET دا رای امکانات گسترده  برای عموم علاقه مندان   به برنامه نويسی وب است .اگر شما در صف پياده کنندگان نرم افزار قرار داريد
، مشاهده خواهيد کرد که ASP.NET عموما" با ASP کلاسيک ، سازگار است . در اين راستا می توان از امکانات وسيع ويژوال استوديو استفاده نمود. با استفاده از ASP.NET می توان مجموعه ای از کنترل های سرويس دهنده را بخدمت گرفت .استفاده از کلاس های پا يه کتا بخانه ای از ديگر مواردی است که با استفاده از آن می توان تعداد خطوط مورد نظر برنامه نويسی بمنظور انجام يک فعاليت را کاهش داد. بر نامه نويسان پس از انتخا ب زبان دلخواه قا در به نوشتن کدهای مورد نيا ز خوا هند بود .در صورتيکه علاقه مند به نوشتن کدهای مورد نظر خود بکمک زبان کوبال  نيز  باشيد ، اين امر امکا ن پذير  خواهد بود. تاکنون بيش از بيست زبان برنامه نويسی متفاوت  توسط پلات فورم دات نت حمايت شده  و تعدادی  ديگر در راه   می با شند . شما همچنين می توانيد اينترفيس API32 ويندوز را مستقيما" و از طريق صفحات aspx فرا خوانده و از پتانسيل های آن استفاده نمائيد.تمامی زبانهای دات نت نظير VB.NET از يک ساختار ساختيافته بمنظور برخورد با خطا ء استفاده می نمايند. اشکال زدائی و رديابی خطا ها از ديگر موارد قابل توجه و تامل در ASP.NET است . در اين راستا می توان اقدام به اشکال زدائی صفحات ASP نمود( مشابه اشکال زدائی فرمها در ويژوال بيسيک )
ASP.NET بمنظور افزايش کارائی ( اعتمادپذيری و توسعه با وزن دلخواه )  طراحی شده است . در دنيای دات نت هر چيزی ترجمه خواهد شد. کدهای ترجمه شده سرعت را به ارمغان خواهند آورد. بمنظورافزايش کارائی  از سيستم Cashe API استفاده می گردد. ASP.NET قادر به تشخيص و برخورد مناسب با تمامی حوادثی خواهد بود که در زمان اجرای يک برنامه ممکن است بوجود آيد.( از بين رفتن پردازه ها
، بروز بن بست در سيستم ، بروز مشکل در حافظه ، نمونه هائی در اين راستا می باشند ) در چنين  مواردی پردازه جديدی ايجا د و مسئوليت حذف پردازه قبلی با مشکل مواجه شده ، به آن سپرده خواهد گرديد.تمامی درخواست های  معطل مانده ، قبل از اينکه به عمر پردازه فوق خاتمه داده شود ، توسط پردازه  پردازش خواهند شد . در اين وضعيت تمامی درخواست های جديد واصل شده ، به پردازه جديد داده خواهند شد.نکته جالب در اين راستا تنظيم و پيکربندی تمامی پارامترهای ذيربط ، توسط برنامه نويس است .   
يکی از مهمترين اهداف دات نت ، بکارگيری آسان برنامه ها  پس از آماده سازی است . ASP.NET از تکنيک معروف Xcopy ( تکثير فولدر مربوطه بهمراه زير مجموعه های آن ) استفاده می نمايد.در زمان استفاده از ASP.NET ضرورتی به استفاده از ريجستری بمنظور تنظيم پارامترهای ذيربط نخواهد بود .در اين راستا می توان تمامی تنظيمات دلخواه  را در فايل ها ئی  از نوع XML ذخيره و بهمراه کدهای نوشته شده بر روی کامپيوتر مورد نظر، تکثير کرد. با استفاده از امکانات ASP.NET و همراهی Mobile Internet Toolkit ،  می توان نرم افزارهای وب خود را بمنظور اجراء بر روی دستگاههائی نظير : تلفن های سلولی ،  PDA و .. آماده کرد . ASP.NET دارای امکانات مناسب  برای پياده سازی سرويس های  متکی بر وب ،  کنترل های بيشتر از بعد مسا ئل  امنيتی و انعطاف پذيری بشتر در مديريت Session است . ( بخش دوم
( بخش سوم  )



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382