PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : از asp کلاسیک تا asp.net



آبجی
15th February 2010, 12:41 AM
نویسنده : شرکت سخاروش
پیا ده سا زی نرم افزار تحت وب دارای سا بقه ای چندین سا له بوده و تا کنون دستخوش تحولات متعددی گردیده است . تما می تحولات بوجود آمده ، ریشه در سیر صعودی نیا زها ومطرح شدن انتظا رات جدید از اینترنت و مهمترین سرویس آن یعنی وب دارد. اگر سال ۱۹۹۶ میلادی را نقطه عطفی در زمینه طراحی و پیا ده سازی نرم افزارهای تحت وب بدانیم ، قطعا” می بایست به نقش تکنولوژی های متفا وت که امکا ن خلق آثار نرم افزاری بر روی بستر وب را فراهم نموده اند ، مرور مجددی داشت .
تکنولوژی 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
برای برنامه نویسی صفحات ، می بایست از یکی از دو مدل تک صفحه ای و یا دو صفحه ای استفاده کرد .
در مدل تک نسخه ای صرفا” یک فایل با انشعاب 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.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 است .

آبجی
15th February 2010, 12:42 AM
تغییرات عمده در ASP.NET
یکی از اهداف اولیه و مهم ASP.NET سازگاری کامل آن با ASP کلاسیک است . دستیابی به هدف فوق بصورت کامل و در مرحله عمل غیر ممکن بنظر می آید . زمانیکه این محصول ارائه گردید ، صرفا” یک تفاوت اساسی مربوط به یکی از اشیاء مهم ( شی Request) ، در آن مشهود بود . در ASP کلاسیک ، Querystring و مجموعه Form مربوط به شی Request ، برداری از نوع رشته را برمی گردانند . اما در ASP.NET آنها یک مجموعه شامل نام / مقدار را برمی گردانند. در اغلب حالات تعییرات اعمال شده بگونه ای بوده که از اشیاء موجود استفاده و امکانات آنها افزایش یا بد .یکی دیگر از موارد قابل تامل ، احتیاط در بکارگیری Response.write است . زمانیکه امکان فوق بهمراه تگ های Server-Side استفاده می گردد، نتایج در بالای صفحه و قبل از تگ HTML نمایش داده خواهند شد. بمنظور استفاده درست از امکان فوق و نمایش نتایج دلخواه در مکان مورد نظر، می بایست Response.write از طریق تگ های Server-side و یا از طریق توابع مورد نظر ، فراخوانده گردد.در این راستا می توان از کنترل های سرویس دهنده نظیر : Labels و یا PlaceHolder استفاده کرد . هر یک از اشیاء اساسی نظیر : Request , Response , Server, Session و … دارای تعداد زیادی خصلت و متد جدید شده و در عین حال تعداد دیگر شی اضافه گردیده است .مثلا” شی Cashe باعث پیاده سازی سیستم Cashe برای یک نرم افزار متکی بر وب می گردد و یا شی دیگر، اطلاعات کاربری که در حال استفاده از برنامه است ، در خود نگهداری می نماید . و یا شی Trace که می توان اطلاعات مربوط به ردیابی را بکمک آن در خروجی نمایش داد، نمونه هائی از اشیاء جدید می با شند .
تغییرات ساختاری
در زمان کوچ از ASP کلاسیک بسمت ASP.NET ، می بایست به تغییرات ساختاری بوجود آمده نیز دقت گردد. برخلاف صفحات ASP کلاسیک ، در ASP.NET در هر صفحه صرفا” می توان از یک زبان استفاده کرد . ویژگی فوق یکی از مشهودترین تغییرات بوجود آمده در ساختار است . بنابراین نمی توان در یک صفحه چندین زبان را بخدمت گرفت . استثنا” می توان از کنترل های کاربر که توسط یک زبان نوشته شده اند، در صفحاتی که با زبان دیگر نوشته شده اند ، استفاده کرد . قانون فوق صرفا” محدود به کدهای نوشته شده ای است که می بایست بر روی سرویس دهنده اجراء گردنند و استفاده از اسکریپت ها بر روی سرویس گیرنده نظیر آنچیزی است که تاکنون استفاده شده است .
تغییر دیگر: یک صفحه aspx می تواند دارای صرفا” یک تگ فرم Server-side بوده وپس از ارسال می بایست به صفحه یکسانی ارسال گردد. البته در این راستا همچنان می توان از تگ های Client-Side Form نیز استفاده نمود . در چنین وضعیتی می توان آنها را برای سایر صفحات موجود دیگر نیز ارسال کرد .جدول زیر امکا نا تی را که می توان بهمراه صفحات aspx استفاده کرد ، نشان می دهد .


مثال

امکانات

<%@ Directive %>
یک صفحه ممکن است دارای دایرکتیو باشد.. دایرکتیوها شامل خصلت های خاصی برای صفحات ، نظیر زبان مورد استفاده در صفحه و یا اسمبلی هائیکه می بایست به صفحه Import گردنند، باشد .

<tag runat=server>
از تگ های کنترلی Server-Side نیز می توان استفاده نمود.

<script runat=server>
تعاریف کنترل شده وب ، که دارای خصلت Runat server می باشند. <%# %>
عبارات نسبت دهی داده . عبارات فوق امکان بازیابی داده را از منابع داده ئی تعریف شده فراهم می نمایند.
<%– –%>
نظیر اسکریپت های توضیحی Client-Side می توان از توضیحات Server-Side استفاده نمود.
<!– #include –> <%= %> , <% %>
می توان از Server-Side Includes و render Blocks نیز استفاده نمود.
<Script runat=”server” language=”vb”>
dim gVar as String �Page level variable
private sub MySubRoutine()
Label1.Text = gVar
End Sub
</Script >

تغییرات بوجود آمده در کدهای بلاکی . در ASP کلاسیک محدودیتی از بعد محل و زمان تعریف موارد نظر وجود نداشت . اما در ASP.NET ضوابطی بدین منظور وضع شده است . نمی توان توابع را درون تگ های <% %> تعریف نمود .بنابراین می بایست مطمئن گردید که تمامی توابع و متغیرهای مورد نظر درون بلاک <SCRIPT> تعریف شده اند.

تابع زیر :
<% MyRenderFunction
Sub MyRenderFunction() %>
<h1> Hi there! </h1>
<%end sub%>

بصورت زیر نوشته می گردد :
<% Call MyRenderFunction()%>
<script runat=”server” language=”vb”>
Response.Write(�Hi there!�)
</script>
اغلب برنامه نویسان از توابع خاصی با نام render استفاده می نمایند. ویژگی مهم در این زمینه ، امکان ایجاد کدهای Server-Side و تگ های Html بوجود آمده که با اولویت خاص خود اجراء خواهند گردید. در مثال روبرو تابعی با نام MyRenderFunction فراخوانده شده و بلافاصله تعریف شده است همانگونه که مشاهده می گردد تگ هدر ، بعنوان بخشی از تابع محسوب می گردد.بنابراین زمانیکه تابع فراخوانده می شود تگ هدر مربوطه Render خواهد شد.این نوع نوشتن تابع و فراخوانی در ASP.NET مجاز نبوده و می بایست تمام کدهای مربوطه درون بلاک <Script> قرار گیرند.
<%@ Page Language=”VB” ContentType=”text/xml” %>

در ASP کلاسیک می توان از دایرکتیوهائی بمنظور مشخص نمودن زبان ، وضعیت Session State ، کد پیج و … استفاده کرد . در صفحات aspx می توان از دایرکتیوهای جدیدی بمنظور مشخص نمودن خصلت ها برای صفحه ، کنترل ها اسمبلی ها و … استفاده نمود. در ASP کلاسیک می بایست دایرکتیوها را در ابتدای صفحه قرار داد .در ASP.NET می توان دایرکتیوها را در هر محل که مورد نظر است و به هر تعداد که ضرورت وجود دارد ، استفاده کرد. مثال فوق دایرکتیوی را نشان می دهد که زبان مورد نظر و نوع محتویات صفحه را مشخص می نماید.


تغییرات اضافی در رابطه با پیکربندی
یکی از نکات قابل تامل ASP کلاسیک ، ذخیره سازی تمامی تنظیمات مربوط به پیکربندی در ریجستری و یا متابیس های IIS است . ویژگی فوق در زمان بکارگیری یک برنامه ، باعث بروز مشکلاتی می گردد . در ASP.NET مدل فوق استفاده نشده و از مجموعه ای فایل های پیکربندی Xml استفاده می گردد. تنظیمات مربوط به یک برنامه ASP.NET ، در فایل های پیکربندی خاصی از نوع Xml ذخیره می گردنند. تمامی تنظیمات مربوطه با یک فرمت قابل خواندن در فایل های Xml ذخیره خواهند شد. دو نوع عمده از فایل های پیکربندی وجود دارد :
- فایل Machine.Config شامل تنظیمات عمومی و گسترده در رابطه با ماشین است . بنابراین در صورتیکه قصد اعمال تغییراتی را داشته باشیم که می بایست بر روی تمامی برنامه های تحت وب تاثیر گذار باشد ، می توان از فایل فوق جهت نیل به خواسته های خود استفاده کرد .
- فایل Web.Config فایل فوق ، تمامی تنظیمات موجود در فایل Machine.Config را به ارث برده و در عین حال شامل سایر نتظیمات در رابطه با یک پروژه و درسطح برنامه است . مثلا” در صورتیکه بخواهیم مدل Session state را برای برنامه جاری مشخص و یا از برخی داده های خاص برای برنامه استفاده کرد ، می توان از فایل فوق استفاده نمود. دات نت از طریق اینترفیس های مربوطه امکان دستیابی به این نوع فایل ها را بسادگی فراهم می نماید.
تغییرات بوجود آمده در مدیریت Session
در بخش قبل اشاره گردید که می توان تنظیمات مربوط به مدیریت Session را در فایل web.Config ذخیره کرد . در ASP.NET چه امکانات جدیدتری بمنظور مدیریت Session ایجاد شده است ؟ در ASP کلاسیک صزفا” می توانستیم از شی پیش فرض Session استفاده نمائیم حتی اگر آن را دوست نداشته باشیم ولی مجبور بودیم با آن زندگی نمائیم . در ASP.NET از مکانیزمهای جدیدی بمنظور مدیریت Session استفاده می گردد. در این راستا می توان از InProc Session استفاده ، که دارای عملکردی مشابه شی Session در ASP کلاسیک است . با اینکه امکان فوق گزینه مظلوبی بنظر می آید ولی همچنان مسئله Load-Balancing را برطرف نمی نماید . در ASP کلاسیک همواره دارای مسائلی از بابت حصول اطمینان از بابت اتصال یک کاربر به سرویس دهندگان یکسانی بمنظور پشتیبانی از داده های مربوط به Session هستیم . در ASP.NET برای برطرف نمودن مسائلی اینچنین از StateServer استفاده می گردد. در این حالت داده مربوط به Session کاربر مورد نظر در یک State Service ذخیره و قابل اجراء بر روی هر ماشین است . بنابراین می توان گفت که داده های Session متمرکز شده است . در صورتیکه StateServer با مشکل (Crashe) مواجه گردد تکلیف چیست ؟ در این حالت تمامی داده های Session از بین خواهند رفت . بمنظور حل مشکلاتی از این نوع ، استفاده از SQLServer Session توصیه می گردد. در این حالت داده های مربوط به Session در SQL Server ذخیره و بصورت اتوماتیک برای شما مدیریت خواهند شد. در صورتیکه علاقه مند به استفاده از Session State نباشید ، می توان آن را غیر فعال نمود. در این راستا می توان حتی مکانیزمهای تدوین شده توسط خود را نیز با آن جایگزین نمود. در صورتیکه قصد تغییر و پیکربندی session State را داشته باشید ، می توان نقطه نظرات خود را در بخش <SessionState> مربوط به فایل Web.Config نرم افزار مورد نظر ، اعمال کرد. در رابطه با بکارگیری و ذخیره اشیاء در Session state موارد متعددی وجود دارد که می بایست مورد توجه قرار گیرد. مثلا” می توان عناصر COM را صرفا” زمانی در اشیاء Session state ذخیره نمود که از InProc استفاده شده است . ( عناصر فوق قابلیت سریال سازی خود را ندارند) . در این زمینه نیز می توان عناصر مدیریت یافته را در هر نوع مدلی از Session State ذخیره نمود مشروط به اینکه آنها اینترفیس ISerializable را پیاده سازی نموده باشند.
تغییرات بوجود آمده از بعد امنیتی
یکی دیگر از تغییرات اساسی در ASP.NET نسبت به ASP کلاسیک مقوله امنیت است . از آنجائیکه ASP.NET مستقل از IIS است آن بخش از مسائل مرتبط با امنیت ، مشابه ASP کلاسیک است . ASP.NET یک مدل جدید و انعطاف پذیر در رابطه با امنیت ارائه نموده که بر اساس تنظیمات تعریف شده در بخش های امنیتی (Security) فایل های پیکربندی مشخص شده است . در این راستا امکانات و گزینه های متعددی بمنظور تشخیص هویت ( اعتبار سنجی ) در رابطه با برنامه تحت وب مبتنی بر دات نت وجود دارد. مثلا” می توان از روش های اعتبار سنجی حمایت شده توسط IIS استفاده و یا می توان تصمیم به استفاده از کدهای جدید بمنظور اعتبار سنجی گرفت . عموما” از چهار مدل اعتبار سنجی استفاده می گردد.اعتبار سنجی فوق بعد از اعتبار سنجی IIS صورت می پذیرد .
- Windows Authentication . اعتبارسنجی ویندوز ، بعنوان پیش فرض در نظر گرفته خواهد شد. روش فوق زمانیکه از اعتبارستجی های IIS نظیر : Digest,Certificates ، استفاده می گردد ، توصیه شده است .
- Form Authentication اعتبارسنجی مبتنی بر فرم ها را بعنوان اعتبار سنجی پیش فرض برای برنامه در نظر خواهد گرفت .
- Passport Authentication. اعتبار سنجی پاسپورت را بعنوان اعتبار سنجی پیش فرض برای برنامه در نظر خواهد گرفت .
- None صرفا” کاربران گمنام (Anonymouse) قادر به استفاده از برنامه خواهند بود. در این راستا ممکن است عملیات اعتبارسنجی توسط برنامه ها اعمال گردد.
پس از اعتبار سنجی کاربر، می بایست به کاربران مجوزهای لازم جهت دستیابی از برنامه تحت وب داده شود. مجوزهای مربوطه امکان کنترل دستیابی به منابع را فراهم خواهند نمود. در این راستا از دو امکان File Authorization و URL Authorization می توان استفاده بعمل آورد . مجوز فایل ، بصورت اتوماتیک اعمال خواهد شد. در صورتیکه کاربر متقاضی ، دارای حق دستیابی به یک فایل و یا منبع خاص را نداشته باشد، دستیابی به صورت خودکار انکار خواهد گردید. مجوز مبتنی بر URL امکان اعمال محدودیت به برنامه و یا آدرس های URL خاصی را فراهم می نماید.با استفاده از ویژگی فوق می توان مجوز استفاده و یا عدم استفاده از یک برنامه به ازای کاربران را تامین نمود.

آبجی
15th February 2010, 12:43 AM
گذر از VbScript و حرکت بسمت VB.NET
در بخش های قبل ، به برخی از تغییرات اساسی بوجود آمده در ASP.NET نسبت به ASP کلاسیک اشاره گردید.در ASP کلاسیک برای نوشتن اسکریپت هائی که بر روی سرویس دهنده اجراء می شدند از Vbscript استفاده می گردید ، در همین راستا تعداد اندکی از برنامه نویسان نیز از Jscript استفاده می کردند. در این بخش به بررسی برخی از روش های گذر از Vbscript و استفاده از VB.NET اشاره شده و در ادامه تغییرات بوجود آمده بین VB 6.0 و VB.NET بررسی خواهد شد. در دات نت از زبانهای اسکریپت خبری نبوده و بالطبع استفاده از VBscript توصیه نشده است. در دات نت از VB استفاده و کدهای نوشته شده ترجمه خواهند شد. بمنظور گذز از ASP کلاسیک و سوئیچ نمودن بر روی ASP.NET ، در ابتدا می بایست انشعاب صفحات ASPنوشته شده را به aspx تبدیل نمود. پس از تبدیل انشعاب فایل های ASP کلاسیک ، صفحات جدید با انشعاب aspx توسط ASP.NET پردازش خواهند شد. دومین مرحله تبدیل کدهای نوشته شده و موجود Vbscript به VB است . ممکن است ، این سوال مطرح گردد که تفاوت های اساسی بین VBscript و VB چیست ؟ پاسخ به سوال فوق بسادگی میسر نمی باشد ، چراکه در این زمینه تغییرات عمده ای ایجاد شده است . . اولین تغییر اساسی ، پیش فرض قرار داده شدن Option Explicit است . بنابراین می بایست تمامی متغیرهای استفاده شده را با صراحت تعریف کرد. یکی دیگر از تغییرات ، عدم وجود نوع Variant است . در این راستا می توان از نوع Object استفاده نمود. نوع فوق دارای عملکردی متفاوت نسبت به Variant است . در این زمینه توصیه می گردد که نوع تمامی متغیرها دقیقا” مشخص شده و ملاحظات مربوط به تبدیل نوع ها لحاظ و رعایت گردد. یکی دیگر از تفاوت های اساسی ، مربوط به نحوه فراخوانی توابع و متدها ئی است که پارامترهائی را بعنوان ورودی اخذ می نمایند. در این راستا می بایست در زمان استفاده از پارامتر از پرانتز استفاده نمود. در صورتیکه متد و یا تابعی فاقد پارامتر باشد ضرورتی به استفاده از پرانتز وجود نخواهد داشت . در VB 6.0 آرگومانهائی که به یک تابع پاس داده می شوند بصورت پیش فرض از نوع مرجع می باشند (By Ref.) در صورتیکه در VB آرگومانهائی پاس داده شده از نوع مقدار (By Value) می باشند. در VB.NET ایندکس بردارها از صفر شروع می گردد.
در VB.NET استفاده از Set و Let مجاز نبوده و بنابراین لازم است که موارد فوق حذف گردد . مثلا” دستور : Set Object1=Object2 به Object1=Object2 تبدیل خواهد شد.
در VB.NET خصلت های پیش فرض وجود نداشته و می بایست با صراحت خصایص مربوط به اشیاء را مشخص کرد . مثلا” دستور : Mystring as string=TextBox1 به MyString as string=TextBox.Text تبدیل خواهد شد. در عبارت دوم از خصلت .Text استفاده شده است . نوع صحیح به سی و دو بیت و نوع Long به شصت و چهار بیت تبدیل شده اند. در VB.NET از روش های ساختیافته تری بمنظور برخورد با خطاهای احتمالی استفاده می گردد. در این راستا ضمن اینکه می توان کماکن از عبارت OnError استفاده کرد ، ولی مناسب تر است که از “Try-Catch Block” استفاده گردد. در VB.NET می بایست با صراحت نوع داده ها را تبدیل نمود وگرنه با خطاء مواجه خواهیم شد. در این راستا می بایست از توابع Cstr,Ctype بمنظور تبدیل یک نوع صحیح به نوع رشته ای برای نوشتن پاسخ رشته ای استفاده نمود.

Response.Write (”Count=” & CStr(MyCount))
Response.Write(”Count=” & CType(MyCount, String))

درVBScript ، بمنظور الحاق ( اتصال ) دو رشته ، الزامی جهت استفاده از فضا های خالی بین & و متفیرهای رشته ای وجود ندارد . (x = str1&str2) ولی در VB.NET می بایست حتما” از فضای خالی در این راستا استفاده گردد. (x = str1 & str2) . گرامر عبارات Property نیز تغییر یافته است . در این راستا Property Get ، Property Let و Prpoerty Set با یکدیگر ترکیب و به یکی تبدیل شده اند. GET و SET درون عبارت Property استفاده می گردند.

Public Property MyCount as Integer
Get
MyCount = InternalValue
End Get
Set
InternalValue = value
End Set
End Property

بخش پنجم : برنامه های ASPکلاسیک که از عناصر COM استفاده می نمایند.
تمامی برنامه نویسان ASP ، تاکنون در برنامه های خود از عناصر COM استفاده کرده اند . در مورد این نوع برنامه ها چه تدابیری اندیشیده شده است ؟ اغلب برنامه نویسان از اشیاء متعدد COM که با اهداف خاصی طراحی شده و یا خود آنها را طراحی و پیاده سازی نموده اند ، استفاده می نمایند. آیا ضرورتی به بازنویسی مجدد کدها وجود خواهد داشت ؟ در دات نت ، عناصر COM وجود نداشته و از یک پل ارتباطی بمنظور ارتباط آنها بایکدیگر استفاده می گردد. COM Iterop رسالت فوق را برعهده دارد. در ابتدا لازم است مطالبی در رابطه با COM Interop عنوان شده ودر ادامه به بررسی تغییرات مبتنی بر COM در ASP.NET پرداخته گردد. COM Interop روشی را جهت فراخوانی عناصر از طریق ASP.NET فراهم می آورد. امکان فوق ، می تواند بمنزله یک خبر خوب برای برنامه نویسان ASP تلقی گردد. در این راستا لازم است که از صفت ASPCOMPAT استفاده گردد. اگر قصد استفاده از عناصر موجود STA و یا VB را در ASP.NET داشته باشیم، می بایست از ASPCOMPAT استفاده گردد. در صورتیکه اشیاء COM مورد نظر از اشیاء ذاتی ASP استفاده می نمایند ، نیز می بایست از ASPCOMPACT استفاده گردد . ASP بصورت اساسی از MTA thread pool به جای STA استفاده می نماید. بنابراین صفحاتی که از عناصر STA استفاده می نمایند ممکن است عملکرد مثبت و یا حتی منفی را داشته باشند. وضعیت فوق ارتباط مستقیم با ماهیت و رفتار عناصر COM بستگی خواهد داشت . بخاطر داشته باشید که استفاده از ASPCOMPACT در زمان استفاده از سرویس های وب مجاز نخواهد بود.
بخش ششم : برنامه هائی که از بانک های اطلاعاتی استفاده می نمایند
تمامی برنامه نویسان ASP از بانک های اطلاعاتی در صفحات ASP خود استفاده می نمایند. در زمینه سوئیچ نمودن از ASP کلاسیک به ASP.NET سوالات متعددی در رابطه با وضعیت بانک های اطلاعاتی مطرح می گردد. چه نوع تغییراتی در کدهای مربوطه می بایست داده شود ؟ چه تغییرات عمده ای در زمینه دستیابی به بانک های اطلاعاتی در ASP کلاسیک نسبت به ASP.NET بوجود آمده است ؟ یکی از اخبار خوب در این زمینه ، امکان استفاده از ADO در ASP.NET از طریق بخدمت گرفتن COM Interop است ، گرچه شرکت ماکروسافت راهکار فوق را توصیه نمی نماید. بدلایل متعدد توصیه می گردد که از ADO.NET استفاده گردد. ADO.NET روشی مبتنی بر دات نت بمنظور دستیابی به داده ها در منابع داده ئی است . ADO و ADO.NET دارای تفاوت های متعددی با هم بوده و نمی توان ادعا نمود که ADO.NET کاملا” با ADO سازگار است . ADO.NET دارای سه شی اساسی است : DataSet ,DataReader و DataAdapter . شی DataSet را می توان با وضعیت RecordSet در ADO مقایسه نمود. DataSet مسدولیت ذخیره سازی داده ها در یک حافظه سریع غیر متصل (Disconnected Cashe) را بر عهده دارد. ساختار DataSet مشابه یک بانک اطلاعاتی رابطه ای است . از DataReader بمنظور بازیابی داده ها از بانک اطلاعاتی بصورت فقط خواندنی و فقط بسمت جلو ( اشاره گر مربوطه ) استفاده می گردد. DataAdapter مجموعه ای از دستورات و ارتباطات به بانک اطلاعاتی را ارائه داده که از آنها بمنظور پر نمودن Dataset و بهنگام سازی داده ها در منابع داده ئی استفاده می گردد. در ADO.NET از دو Data Provider از قبل تعریف شده استفاده می گردد : SQLClient و OLEDB . در صورتیکه از سرویس دهنده SQL استفاده می گردد ، می بایست از SQLClient که بسیار سریع است ، استفاده گردد. ویژوال استودیو دات نت دارای امکانات متعدد طراحی بمنظور دستیابی به بانک های اطلاعاتی و استفاده از اشیاء ADO.NET است . در این راستا می توان اشیائی نظیر: DataAdapter و DataSet را براحتی در یک فرم وب قرار داده و با پیکربندی مناسب آنها ، بسادگی زمینه بازیابی داده ها فراهم خواهد شد.
برنامه نویسان ASP ، می بایست در رابطه با تبدیل کدهای نوشته شده ADO در صفحات خود و تبدیل آنها به ADO.NET اتخاذ تصمیم نمایند. در صورت امکان توصیه می گردد که تمامی کدهای ADO به ADO.NET تبدیل شوند. در صورتیکه تحقق توصیه فوق بدلایلی غیر ممکن بنظر می آید ، می توان از یک لایه اضافی دیگر COM Interop استفاده نمود که قطعا” باعث کاهش کارائی سیستم نیز خواهد شد.
بخش هفتم : استراتژهای عمومی گذر از ASP کلاسیک به ASP.NET
تبدیل یک برنامه نوشته شده با ASP کلاسیک به ASP.NET کار ساده ای خواهد بود، ولی در صورتیکه برنامه پیچیده و بزرگ باشد فرآیند تبدیل ، خود بمنزله یک پروژه بزرگ خواهد بود. در این راستا لازم است که از برخی راهکارهای خاص استفاده گردد. قبل از تبدیل ، می بایست بخش هائی از برنامه را که حتما” مشمول تبدیلات خواهند شد ، مشخص نمود. با توجه به این موضوع که می توان همچنان از فایل های ASP کلاسیک در کنار ASP.NET نیز استفاده کرد ، بنابراین ضرورتی نخواهد داشت که عملیات تبدیل را یکباره انجام داد. نگهداری سایت موجود بمنظور ارائه خدمات مربوطه در حین فرآیند تبدیل بسیار حائز اهمیت بوده و نباید بخاطر بدست آوردن یک چیز موارد دیگری را از دست داد. عدم حضور کوتاه مدت در عرصه رقابت ، ممکن است تاوان بس سنگینی را بدنبال داشته باشد که جبران نمودن آن در صورت امکان زمان و منابع متعددی را طلب نماید. در سناریوی Multi-tier ، می توان از رویکردهای افقی و یا عمودی بمنظور اعمال تغییرات لازم استفاده نمود. در رویکرد افقی ، تمامی یک Tier به یکباره تبدیل خواهد شد. مثلا” می توان تمامی عناصر COM موجود در Middle Tire را به عناصر دات نت ویا سرویس های وب تبدیل نمود. در این راستا صفحات ASP موجود در لایه Presentation آگاهی لازم را در خصوص تغییرات بوجود آمده نخواهند داشت . در ادامه می توان تمام لایه Presentation را به ASP.NET تبدیل نمود. در برخی موارد تبدیل تمامی یک Tier امکان پذیر نخواهد بود در چنین مواردی می توان از رویکرد عمودی استفاده نمود. در رویکرد فوق بخش های مربوطه ای که می بایست تبدیل گردند ، در هر Tier شناسائی می گردند . دامنه رویکرد فوق ممکن است صفحات و یا عناصر را شامل شده و عملیات تبدیل آنها می بایست تواما” صورت پذیرد.
در رابطه با کدهای ADO موجود در صفحات ASP کلاسیک نیز می بایست سیاست خود را مشخص نمود. در صورتیکه سرعت در دستیابی به منابع داده ئی یک فاکتور تعیین کننده است لازم است که تمامی کدها بکمک ADO.NET بازنویسی گردنند.
بخش هشتم : پاسخ به برخی از سوالات متداول


جواب

سوال
اولا” انشعاب فایل ها در ASP کلاسیک asp و در ASP.NET بصورت . aspxاست . ثانیا” هر یک از صفحات فوق دارای تنظیمات مختص بخود و بر اساس روش های خاصی می باشند. تنظیمات ASP کلاسیک در ریجستری ذخیره شده در صورتیکه تنظیمات ASP.NET در فایل های مبتنی بر Xml ذخیره می گردد.
چگونه صفحات ASP کلاسیک و ASP.NET را می توان در کنار یکدیگر استفاده نمود؟
امکان به اشتراک گذاشتن داده های اشاره شده بین صفحات ASP کلاسیک و ASP.NET وجود ندارد.
آیا برنامه های ASP کلاسیک و ASP.NET می توانند از داده های Session و Application بصورت اشتراکی استفاده نمایند؟
در ASP.NET از فایل Global.asax استفاده می گردد.
فایل معادل Global.asa در ASP.NET چیست ؟ بله . در این راستا می توان در صفحات ASP کلاسیک از CCW بمنظور فراخوانی عناصر دات نت استفاده نمود. برای استفاده از عناصر COM در صفحات ASP.NET می توان از RCW استفاده کرد .
آیا می توان عناصر دات نت را در ASP کلاسیک و عناصر COM را در ASP.NET استفاده نمود؟
چون ASP.NET مستقل از IIS است ، بنابراین امکان فوق همچنان در ASP کلاسیک و ASP.NET قابل استفاده خواهد بود. مجوز فوق بصورت IUSER_machinename وجود خواهد داشت .
وضعیت مجوز Anonymous در ASP.NET به چه صورت است ؟
خیر . ASP.NET خروجی خود را بر اساس HTML 3.2تولیده کرده که مورد حمایت تمامی مرورگرها است .
آیا لازم است کدهای متفاوتی بمنظور اجراء بر روی مرورگرهای متفاوت نوشته گردد؟
با استفاده از Interop این امر میسر خواهد شد. بخاطر داشته باشیم که ADO.NET بهمراه ASP.NET توصیه می گردد.
آیا می توان همچنان از ADO بهمراه ASP.NET استفاده نمود ؟
از فایل های فوق کماکن می توان استفاده نمود ولی توصیه می گردد این نوع فایل ها به کتابخانه ای از کلاس ها و یا کنترل های کاربر تبد یل شوند.
وضعیت فایل های Include به چه صورت است ؟
بلی . در این راستا می بایست حتما” از Response.Redirect استفاده نمود. Server.Transfer و Server.Execute سازگار نبوده و در صورت استفاده از آنان بمنظور فراخوانی صفحات دیگر می بایست آنها را جایگزین Response.Redirect نمود.
آیا می توان صفحات ASP کلاسیک را از طریق صفحات ASP.NET فراخواند و یا بالعکس ؟
در این راستا هیچگونه ریسکی وجود نخواهد داشت . دو برنامه کاملا” از یکدیگر متمایز بوده و هیچگونه اینترفیس و یا ارتباطی با یکدیگر ندارند.
: آیا امکان اجرای دو برنامه که یکی بر اساس ASPکلاسیک نوشته شده و دیگری بر اساس ASP.NET نوشته شده اند بر روی یک سرویس دهنده بدون وجود هیچگونه ریسکی وجود دارد؟
آشنائی با HTML قطعا” مفید بوده و می توان مستقیما” اقدام به فراگیری ASP.NET نمود. در این راستا الزامی وجود ندارد که حتما” می بایست در ابتدا ASP کلاسیک را فراگرفت .
آیا فراگیری ASP.NET بدون هیچگونه زمینه ای امکان پذیر بوده و یا می بایست دارای آشنائی لازم با HTML و ASP بود ؟
متاسفانه تاکنون نرم افزاری از این نوع ارائه نشده است .
آیا برای تبدیل صفحات ASP کلاسیک به ASP.NET نرم افزارهائی ( مترجم های خاص) وجود دارد؟ در هر صفحه از دایرکتیوهای خاصی بمنظور معرفی زبان استفاده شده در صفحه استفاده می شود. بکمک دایرکتیوهای فوق مشخص خواهد شد که زبان استفاده شده مثلا” VB و یا #C است. پس از مشخص نمودن زبان مورد نظر، تمامی کدهای نوشته شده در صفحه می بایست بر اساس زبان فوق باشند. در ASP کلاسیک امکان استفاده از VBscript و یا Jscript در یک صفحه بصورت همزمان وجود داشت .در ASP.NET با توجه به این واقعیت که صفحات ترجمه ( کمپایل ) می گردنند، نمی توان از ترکیبی از زبانها در یک صفحه استفاده نمود. در این راستا می بایست به این نکنه نیز اشاره گردد که وضعیت کنترل های کاربر تا اندازه ای متفاوت است. مثلا” می توان از یک کنترل کاربر که با استفاده از #C نوشته شده است در پروژه ای که از VB استفاده می کند ، نیز استفاده نمود. کنترل های کاربر یک استثناء بوده و می توان آنها را با هر زبان نوشت و آنها را توسط هر زبان استفاده نمود.
منظور از استفاده از یک زبان در هر صفحه چیست ؟ فرض کنید که بخواهیم صفحات ASP.NET خود را بکمک ویژوال استودیو ایجاد نمائیم . ویژوال استودیو دات نت از مدل Code-Behind حمایت می نماید، بنابراین می توانیم در چنین مواردی از تمامی مزایای محیط ویژوال استودیو دات نت استفاده نمائیم . اگر از زاویه و منظر کارآئی به مسئله فوق نگاهی داشته باشیم درخواهیم یافت که تفاوت هائی در این زمینه وجود ندارد. در عمل زمانیکه صفحات aspx و Code Behind را ترکیب و در یک فایل استفاده نمائیم سهولت بیشتری را خواهیم داشت . موضوع فوق خصوصا” زمانیکه قصد تبدیل صفحات ASP کلاسیک به ASP.NET را داشته باشیم ملموس و قابل تامل تر است .
آیا دلیلی وجود دارد که صفحات ASP.NET خود را در دو فایل مستقل (aspx و Code Behind) قرار دهیم ؟ اگر هر دو امکان فوق را در یک فایل قرار داده و صفحه aspx را ایجاد نمائیم آیا به مشکل خاصی برخورد خواهیم کرد:
نرم افزار( ابزار) Web Matrix رایگان بوده و توسط گروه ASP.NET پیاده سازی شده است . نرم افزار فوق امکان پیاده سازی صفحات ASP.NET را بخوبی فراهم می نماید، ولی با مسئله پیاده سازی صفحات بصورت یک پروژه نگاه نمی کند. برنامه فوق در رابطه با ایجاد و یا ویرایش یک صفحه بسیا ر قدرتمند عمل می نماید ، ولی نمی توان با استفاده از آن پروژه ای به مسئله پیاده سازی صفحات نگاه نمود( برخلاف ویژوال استودیو دات نت ) . علاوه بر موارد فوق، می بایست به این نکته نیز اشاره گردد که نرم افزار فوق بعنوان محصول رسمی شرکت مایکروسافت نبوده و صرفا” توسط گروه ASP.NET حمایت می گردد. بنابراین با توجه به نوع انتظارات و خواسته های موجود می توان از نرم افزار Web Matrix و ویژوال استودیو دات نت در جایگاه بهینه خود استفاده نمود.
آیا برای پیاده سازی صفحات ASP.NET نرم افزار جدید WebMatrix توصیه می گردد؟


VN:F [1.6.7_924]

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد