پیـاده سازی نرم افزار تحت وب دارای سابقه ای چندین ساله بوده و تا کنون دستخوش تحولات متعددی گردیده هست . چگونه کسی که مارا بلاک کرده در واتی اپ خارج شویم تمامـی تحولات بوجود آمده ، چگونه کسی که مارا بلاک کرده در واتی اپ خارج شویم ریشـه درون سیر صعودی نیـازها و مطرح شدن انتظارات جدید از اینترنت و مـهمترین سرویس آن یعنی وب دارد. چگونه کسی که مارا بلاک کرده در واتی اپ خارج شویم اگر سال ۱۹۹۶ مـیلادی را نقطه عطفی درون زمـینـه طراحی و پیـا ده سازی نرم افزارهای تحت وب بدانیم ، قطعا" مـی بایست بـه نقش تکنولوژی های متفا وت کـه امکا ن خلق آثار نرم افزاری بر روی بستر وب را فراهم نموده اند ، مرور مجددی داشت .

تکنولوژی 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 داشتن یکی از نسخه های ویندوز ۲۰۰۰ به منظور مـیزبا نی و پیـاده سا زی برنامـه های متکی بر 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 مـی توان مجموعه ای از کنترل های سرویس دهنده را بخدمت گرفت .استفاده از کلاس های پا یـه کتا بخانـه ای از دیگر مواردی هست که با استفاده از آن مـی توان تعداد خطوط مورد نظر برنامـه نویسی بمنظور انجام یک فعالیت را کاهش داد. بر نامـه نویسان بعد از انتخا ب زبان دلخواه قا درون به نوشتن کدهای مورد نیـا ز خوا هند بود .در صورتیکه علاقه مند بـه نوشتن کدهای مورد نظر خود بکمک زبان کوبال نیز باشید ، این امر امکا ن پذیر خواهد بود. تاکنون بیش از بیست زبان برنامـه نویسی متفاوت توسط پلات فورم دات نت حمایت شده و تعدادی دیگر درون راه مـی با شند . شما همچنین مـی توانید اینترفیس API۳۲ ویندوز را مستقیما" و از طریق صفحات 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 هست .




[مطالب قدیمـی‌تر - بدو علم چگونه کسی که مارا بلاک کرده در واتی اپ خارج شویم]

نویسنده و منبع | تاریخ انتشار: Sat, 01 Sep 2018 02:39:00 +0000