تبلیغات
....::::Iran Club::::....
Font Engilsh Spanish Arabic Japanese Indian Italian Germanic Turkish

آشنائی باASP.NET

اهداف
• مرور ویژگی ها و کاستی های Pages Active Server کلاسیک
• درک نقاط قوت یک برنامه کاربردی ASP.NET
• آموزش رخدادها و کنترل های خدمات دهنده (server) در
ASP.NET • ایجاد یک خدمت ساده وِب در ASP.NET


مروری بر ASP کلاسیک
شما ممکن است توسعه دهنده حرفه ای برنامه های کاربردی وب باشید که از نسخه پیشینActive Server Pages یا ASP کلاسیک، محصول مایکروسافت استفاده می کنید و یا امکان دارد بتازگی کار خود را به عنوان توسعه دهنده وب آغازکرده باشید. درهرصورت، مرور فن آوری Active Server Page که پیش از ASP.NETقدم به عرصه حیات نهاده است، خالی از فایده نخواهد بود.

ایجاد دینامیک صفحات وب
ASP یک فن آوری است که توسط مایکروسافت و برای تسهیل توسعه کاربردهای محاوره ای وب ایجاد شد. با پیدایش اینترنت، از این فن آوری برای ارسال صفحات HTML ایستا در پاسخ به درخواست های HTTP دریافت شده از سوی یک پویشگر استفاده شد. این صفحات وِب حاوی اَبرپیوند (hyperlink) هایی بود که به کاربران اجازه می داد به راحتی از صفحه ای به صفحه دیگر بروند، اما این، در حد رابطه متقابل (interactivity) آنها بود.
با پیشرفت اینترنت، ناشران وب راههای خِبره تری برگزیدند که کاربران را مجاز می ساخت کنترل بیشتری روی صفحات دریافتی خـود اعـمال نمایند. فُـرم های HTML به کاربـران اجـازه می دادند که برای وارد کردن اطلاعـات از کنتـرل های ساده ای مثل text box ها،list box ها، و check box ها استفاده نمایند. با کلیک کردن روی کلید انتقال(submit) توسط کاربر، داده های دریافتی ازاین کنترل ها که داخل درخواست HTTP قرارگرفته است، ارسال می گردد.

توسعه فن آوری های اجرای نرم افزار خدمات دهنده وِب، مانند CGI 
(Common Gateway Interface) به منظور برآورده کردن نیازبه ارتباط متقابل (interactivity) بیشتر انجام گرفت و برای این کار، درخواست های وِب ویژه ای دریافت و برنامه هایی به اجرا درمی آمد که اقدام به ایجاد وبازگرداندن صفحات وِب شخصی (custom) می کرد و این عمل، معمولا به کمک بازیابی داده از یک بانک اطلاعاتی صورت می پذیرفت.
مایكرو سافت پس از چندین شروع ناموفق،( هر یک از اعضای خانواده نرم افزارهای ADC/HTX files?)، از Active Server Pages به عنوان روش پشتیبانی از ایجاد پویای صفحات HTML بر اساس ورودی کاربر استفاده کرد.

 

یک مثال ASP

تصویر1، نشان دهنده نتایج اجرای یک نمونه برنامه کاربردی ASP می باشد. مایکروسافت یک برنامه کاربردی ISAPI را با IIS نصب می کند که تمامی درخواست ها برای صفحات با پسوند .asp را معین می سازد.سپس این درخواست ها وصفحات اشاره شده در محیط زمان اجرا (run-time) ی ASP.NET اداره می شود. این محیط اجرایی به صفحات اجازه می دهد حاوی کدهایی در بلوک های اسکریپت ویژه باشند که با کاراکترهای <% و %>  محدود گردیده است یا حاوی عناصر <script> دارای صفت runat=server باشند. این اسکریپت تمامی پردازش های لازم برای تولید یک صفحه HTML شخصی را در پاسخ به درخواست کاربر به عهده می گیرد.

تصویر 1. یک نمونه صفحه Active Server کلاسیک

صفحه ASP در این مثال با یک زوج خطوط وابسته به اسکریپت آغاز می شود که زبان را شناسائی و مشخص می سازد که تمامی متغیرها به شکلی واضح بیان می شوند:

<%@ Language = VBScript %>

<%Option Explicit %>

خطوط بعدی، نمونه HTML ای است که یک عنوان بوجود می آورد، یک فُرم HTML تعریف می کند، متنی را به صفحه می افزاید و یک list box کرکره ای را آغاز می کند:

< html >

< head >

< title > products-ASP< / title >

< / head >

< body >

     < form action = “products-ASP.asp” method = “post” >

          Selet  a  category:

          < select name = “category” >

وارد ساختن کد دستیابی داده در صفحه اکنون، صفحه جالب تر( وپیچیده تر ) می شود؛ چرا که از اشیا ADO برای بازیابی فهرستی از طبقه بندی محصولات ازبانک اطلاعاتی Northwind در یک خدمات دهنده SQL محلی استفاده می کنیم:<% Dim cnn, cmd, rst Set cnn = Server . CreateObject ( “ADODB . Connection” ) ‘ Adjust user name and password, if necessary cnn . Open “Provider = SQLOLEDB . 1; Data Source = ( local ) ; ’’ – & “Initial Catalog = Northwind ; User ID = sa ; password = ; ” ‘ Open a read – only, forward – only, server – side recordset. Set cmd = server . CreateObject ( “ ADODB . Command” ) Cmd . commandText = _ “ SELECT CategoryID , categoryName FROM categories ’’ _ & “ ORDER BY categoryName ; ’’ cmd . ActiveConnection = cnn Set rst = cmd . Execute </body> </html> الگوی شئی ASP کد بالا، برای معرفی اشیا ADO ی بکار رفته جهت دستیابی داده، از روش CreateObject مربوط به شئی Server ASP استفاده می کند. ASPعلاوه بر فراهم آوردن یک موتور اجرای اسکریپت، یک سری شش تایی از اشیا، شامل Server ارائه می نماید که توسعه برنامه های کاربردی وِب را تسهیل می کند. در زیر، خلاصه ای از این اشیا آورده شده است: شئی Request برای خواندن داده ای بکار می رود که درون درخواست HTTP برای صفحه بسته بندی (package) شده است. شئی Response شما را مجاز می سازد که داده از جمله HTML،cookie ها را وارد نمایید یا جهت عنوان ها را به سمت جریان پاسخی هدایت کنید که به سوی پویشگر مشتری ارسال می شود. شئی Session زمانی بوجود می آید که نخستین درخواست یک مشتری معین پردازش می شود و تا زمانی در دسترس می ماند که دوره زمان مهلتی که به دنبال آخرین درخواست مشتری به او داده شده است، به اتمام برسد؛ این امر به شما اجازه می دهد داده ها و اشیائی را که درخواست های چند گانه یک مشتری را پوشش می دهد، ذخیره نمایید. شئی Application شبیه شئی Session است اما داده های آن بین تمامی درخواست های مشتری در طول عمر برنامه کاربردی به اشتراک گذارده می شود و شما را مجاز می سازد که به نوشتن کدی اقدام نمایید که به صورت خودکار به هنگام شروع یا اختتام برنامه های کاربردی به اجرا درآید.شئی Object Context برای اجرا یا خروج از برهم کنش های مدیریت شده از سوی MTS یا COM+ بکار می رود. شئی Server یک سری روش های کمکی (Utility) بنیادی ارائه می دهد که مربوط است به ایجاد اشیاء COM، کد گذاری داده ها به عنوان رشته های HTML و URL که می توان آنها را درون درخواست HTML قرار داد و به پویشگر ارجاع داد، و یافتن مکان های واقعی فایل که مرتبط با مسیرهای مجازی است. به مثال خودمان بازمی گردیم؛ خطوط بعدی کد از شئی ASP Response استفاده می کند تا HTML را وارد پاسخ HTTP نموده، آن را به پویشگر ارجاع دهد. ID طبقه از هر ردیف در recordset ، به عنوان مقداربرای هر ردیف listbox کرکره ای تخصیص می یابد:‘ Use the ADO recordset to populate the dropdown list. Do Until rst . EOF Response . Write ( _ “ < option value = “ “ “ & rst ( “ category ID ’’ ) & ’’ ’’ ’’ ’’ ) اداره کردن postback های ASP یک postback هنگامی رخ می دهد که Active Server Page ، اقدام به ایجاد HTML یی می کند که به کاربر امکان فراخوانی مکرر یک ASP را می دهد. درمثال ما، هر بار که کاربر کلید Show Product را میشارد، Products – ASP.asp صفحه مجددا بارگذاری می شود. علت رخداد این موضوع، ظهور آدرس صفحه در صفت action برچسب (tag) آغازین فُرم HTML است: <form action = “ product – ASP.asp ’’ method = “ post ’’> با فشردن کلید توسط کاربر، یک postback رخ می دهد و فهرست کرکره ای باردیگر تماما پر می شود. اما شما از کاربران می خواهید که طبقه (category ) را به هنگام دریافت صفحه جدید ببینند که اکنون محصولات موجود در آن طبقه را نیز به آنها نشان می دهد. باقیمانده این بخش از کد تضمین می کند که طبقه متناسب با آنچه در درخواست HTTP وجود دارد، در صفحه جدید انتخاب خواهد شد و علاوه براین، نام طبقه را به عنوان متن به هر ردیف list box کرکره ای اضافه می کند:‘ preserve the selected category during postbacks If cstr ( rst ( “ category ID ’’ ) ) = Request ( “ category ’’ ) then Response . Write ( “ selected > ’’ ) Else Response . write ( rst ( “ catgoryName ’’ ) & _ “ < / option > ’’ ) rst . MOVENEXT LOOP Rst . close Set rst = Nothing Set cmd = Nothing % > ترکیب کد و HTML پس صفحه به خاطر یک جفت خط مربوط به اختتام برچسب انتخاب (select tag) و ایجاد کلید submit به HTML بازمی گردد: < / select > < input type = “ submit ” Value = “ Show Product ” > باقیمانده صفحه تنها طی یک postback و بعد ازآن که کاربر یک طبقه را برگزید، رخ می دهد. وقتی کاربران برای نخستین بار صفحه ای را احضار می کنند، تنها box کرکره ای و کلید ظاهر می شود. پس از آن که کاربران یک طبقه را برداشته روی دکمه کلیک می کنند، فهرستی از تمامی محصولات آن طبقه را که در قالب یک جدول HTML است، دریافت می نمایند. برای انجام این کار، ASP بین بخش های کد و بخش های HTML اولیه،جابجا شده در پاسخ به درخواست کاربر جدول را به صورت پویا می سازد: < % ‘ check if a category was selected. If Len ( Request ( “ category ’’ ) ) > 0 Then ‘ create client – side, disconnected recordset ‘ of products having the selected category. Set rst = server.createObject ( “ ADODB.Recordset ’’ ) Rst.CursorLocation = 3 ‘ adUseClient Rst.open_ “ SELECT product ID, productName, UnitsInstock ’’ _ & “ FROM Products WHERE categoryID = _ & Request ( “ category ’’ ), _ ccn, 3, 1 ‘ adOpenstatic, adLockReadOnly set rst.Activeconnection = Nothing cnn.close set cnn = Nothing %> < table > <tr> <th> product ID </ th> <th> product Name < / th> <th> Units In Stock < / th> < /tr> <% ‘ Add a table row for each recordset row. Do Until rst.EOF %> < tr > < td > <% = rst ( “ product ID ’’ ) %> < / td > < td > <% = rst ( “ productName ” ) % > < / td > < td > <% = rst ( “ UnitsInstock ’’ ) % > < / td > < / tr > <% rst.MoveNext Loop Rst.Close Set rst = Nothing %> < / table > < % End If If Not cnn Is Nothing Then Cnn . close Set cnn = Nothing End If %> < / form > < / body > < / html > این نمونه کد نشان دهنده یک آلترناتیو برای استفاده از Response است. کد را برای ساختن HTML با داده های ورودی پویا بنویسید. می توان ریز- کدها را با ریز- کدهای HTML اولیه درهم آمیخته، جریان نهایی را که برای مشتری ارسال می گردد، به وجود آورد. آنچه مشتری می بیند مشتری به هنگام احضار یک Active Server Page هرگز کدی را که به روی خدمات دهنده اجرا می شود، مشاهده نمی کند. پویشگر تنها پاسخ HTML ارسالی را می بیند. در اینجا منبع جانبی مشتری (client-side) برای صفحه ای که درتصویر1 دیدید، آورده شده است که توسط کدی که هم اکنون ملاحظه کردید، به وجود آمد: < html > < head > < title > products – ASP < / title > < / head > < body > < form action = “ products – ASP ’’ method = “ post ’’ > select a category: < select name = “ category ’’ > < option value = “ 1 ’’ > Beverages < / option < option value = “ 2 ’’ > condiments < / option > < option value = “ 3 ’’ > confections < / option > < option value = “ 4 ’’ selected > Dairy products < / option > < option value = “ 5 ’’ > Grains / cereals < / option > < option value = “ 6 ’’ > Meat / poultry < / option > < option value = “ 7 ’’ > produce < / option > < option value = “ 8 ’’ > seafood < / option > < / select > < input type = “ submit ’’ value = “ show products ’’ > < table > < tr > < th > product ID < / th > < th > product Name < / th > < th > Units In stock < / th > < / tr > < tr > < td > 11 < / td > < td > Queso cabrales < / td > < td > 22 < / td > < / tr > ( ردیف های بعدی در جدول به منظور رعایت اختصار حذف شده اند ) < / table > < / form > < / body > < / html > در این مثال ساده، HTML تحویل شده به مشتری بسیار ابتدائی است، اما برنامه کاربردی ASP می تواند برای ایجاد صفحات وب پیچیده و کاملا ویژه اقدام به وارد ساختن styles، گرافیک، کنترل های فرم مخفی و حتی اسکریپت جانبی مشتری نماید. کاستی های ASP با وجود مفید و موفق بودن ASP، این برنامه از محدودیت های عمده و مهمی رنج می برد که انگیزه ای در جهت توسعه ASP.NET بوده اند. کد تفسیر شده و loose تایپ شده موتور اجرای اسکریپت که page Active Server ها به آن متکی است، کدها را هر بار که صفحه احضار می شود، خط به خط تفسیر می کند. به علاوه، با وجود پشتیبانی از متغیرها، تمامی آنها به صورت loose و به عنوان متغیر تایپ می شوند و به هنگام اجرای کد، محدود به گونه های معینی هستند. هردوی این فاکتورها، عملکرد بازداشته شده و پیوند دیرهنگام گونه ها، کار غلط یابی را موقع کدنویسی دشوارتر می سازد. کمبود پشتیبانی Microsoft IntelliSense در محیط های اسکریپت نیز بهره وری برنامه نویس را با مشکل مواجه می سازد. برای غلبه براین محدودیت، بسیاری از توسعه دهندگان ASP تلاش کرده اند با منطق هرچه تمامتر به سوی اجزای خودکاری COM پیش روند که به عنوان نمونه می توان به Active DLL ها که توسط ویژال بیسیک مایکروسافت به وجود می آید، اشاره کرد. متاسفانه، این عمل یک اثر جانبی بسیار نامطلوب به همراه دارد: DLL پس از بارگذاری توسط ASP تا زمان بستن خدمتگزار وِب در حافظه باقی می ماند و این امر، ادامه بکارگیری ASP را بدون پائین آوردن گهگاه خدمتگزار، بسیار دشوار می سازد. همکاری دشوار است اغلب تیم های توسعه وِب متشکل از دو گروه هستند که به شوخی از آنها با عنوان " جوراب سیاه ها " و " دم اسبی ها " یاد می شود. برنامه نویسان با جورابهای سیاهشان مسئول نوشتن کدهای دریافت وارسال داده هستند، در حالی که طراحان دم اسبی مشغول زیبا سازی و جذاب کردن سایت هستند.روشی که ASP در راستای تشویق ترکیب کد با HTML دارد، برای برنامه نویسان و طراحان، کار در یک صفحه، بدون خراب کردن کار یکدیگر را دشوار می سازد. تا حدودی می توان کدها را به بلوک های اسکریپت تفکیک کرد یا آنها را در اشیاء COM کپسول بندی کرد، اما مقداری اختلاط در اغلب پروژه های ASP غیر قابل اجتناب است، واین موضوع روند پیشرفت کار تیم را با کندی مواجه می سازد. توسعه محدود و ابزارهای اشکال زدائی (debugging) Microsoft Visual InterDev، Macromedia Visual UltraDev و سایر ابزارها با فراهم ساختن محیط های توسعه گرافیکی، در جهت بالا بردن بهره وری برنامه ریزان ASP تلاش کرده اند. اما این ابزارها هرگز نتوانسته اند از نظر سهولت کاربرد و سطح مقبولیت عام، به پای ابزارهای توسعه برنامه های کاربردی ویندوز مایکروسافت برسند؛ ابزارهایی چون ویژال بیسیک یا Microsoft Access. اغلب توسعه دهندگان ASP هنوز تا حد قابل ملاحظه ای بر Notepad متکی هستند. بخشی از این موضوع ریشه دراین علت دارد که یک نمونه صفحه ASP ترکیب عناصر از یک طیف از فن آوری های مختلف است، ازجمله VBScript، JavaScript، Cascading Style Sheet ها، HTML پویا، ADO وحتی اخیرا XSL style sheets و XML. اداره تمامی این فن آوری ها برای هر ابزار توسعه ای به تنهایی کار دشواری است. اشکال زدائی بخش غیر قابل اجتناب هر فرآیند توسعه نرم افزار است و ابزارهای اشکال زدائی ASP در حداقل سطح ممکن بوده اند. عبارات را در کد آنها بنویسید تا بتوانید پیشرفت اجرای آن را پیگیری کنید.

پیوستگی خدمتگزار به هنگام نگهداری حالت session با رشد ترافیک در یک سایت وِب، یکی از بهترین راههای کنترل و اداره رشد، ساختن مجموعه وِب متشکل از خدمتگزاران وِب مختلف خوشه ای است. این كار به كمك نوآوری های اخیر در عرصه نرم افزار و سخت افزار مبدل به روشی بسیار مقرون به صرفه و کارآمد شده است كه برای افزایش ظرفیت و متوازن سازی پویای بارگذاری بكار می رود. بعلاوه، این امر باعث افزایش دسترسی و اعتبار سایت می شود، چرا که با از کار افتادن یک یا حتی چند خدمتگزار باز هم کل سایت پائین نمی آید. ASP پیش از عمومیت یافتن این معماری به وجود آمد و روش آن برای ابقای عبارت session موجب شده است كه دستیابی به توازن بارگذاری بهینه در یك مجموعه از خدمتگزاران بسیار دشوار باشد. علت مشکل مذکور این است که داده session در خدمتگزاری ذخیره می شود که نخستین درخواست session را پردازش نموده است. با بازگشت تقاضاهای مرکب از سوی آن کاربر، لازم است که مسیر آن درخواستها به سوی خدمتگزاری که عبارت session را نگهداری می کند، هدایت گردد. توسعه دهندگان تجاری راههای هوشمندانه ای برای حل این معضل بدست آورده اند. به عنوان مثال، شما می توانید داده session را در یک کنترل مخفی روی صفحه ای که به مشتری بازگردانده می شود، کپسوله کنید وسپس با ورود درخواست بعدی آن را بازیابی نمایید. اما ناتوانی ASP در بکارگیری بهینه توازن بارگذاری در مجموعه ها هنوز هم یک محدودیت مهم بشمار می رود. تنظیمات مبهم پیکربندی به منظور ذخیره تنظیمات پیکربندی، ASP ازبانک متا استفاده می کند که یک مخزن با ساختار ارثی و ثبات مانند است که بخشی از IIS محسوب می شود. بسیاری از توسعه دهندگان، درک و هدایت ساختار بانک متا را مشکل می دانند. بعلاوه، انتقال تنظیمات بانک متا از یک خدمتگزار وِب به دیگری دشوار است. کد لازم برای پشتیبانی چند پویشگره و postback هاهمانگونه که در نمونه صفحه products-ASP نشان دادیم، با وارد کردن داده و انجام انتخاب ها از سوی کاربران معمولا صفحات به صورت مکرر بارگذاری مجدد می شوند. برای این که با هر بار رخدادن این امر، کاربران را از خطر از دست دادن اقلام پیشین مصون نگه دارید، باید کدی بنویسید که اقلام موجود آنها را گرفته، بارگذاری مجدد نماید. این کد در صفحات اقلام داده پیچیده ممکن است کاملا بزرگ و وسیع شود. برای یک سایت اینترانت، شما ممکن است بتوانید فرض کنید که تمامی کاربران دارای نسخه های تازه Internet Explorer هستند، اما در یک سایت اینترنت عمومی، امکان در نظر گرفتن این فرض وجود ندارد. شما باید کدی بنویسید که پویشگر کاربر را شناسائی و مطابق با آن خروجی HTML را تغییر دهد؛ مگر این که صفحات خود را تنها به استفاده از ویژگی های بنیادی HTML محدود کنید. این امر، حجم عظیمی از کار اضافی برای برنامه نویسان ASPبه وجود می آورد که نیاز به پشتیبانی از پویشگران مختلف را دارند. به همین صورت، هیچگونه پشتیبانی برای افزارهای متحرک، نظیر PDA ها و تلفن ها وجود ندارد. ASP.NET برای نجات بخشی توسعه ASP.NET در پاسخ مستقیم به مشکلاتی بود که توسعه دهندگان با ASP کلاسیک داشتند. هرچند قرار است چار چوب کاری .NET بسیار فراتر از ASP.NET صرف باشد، انگیزه اولیه برای پایه گذاری آن، نیاز به یک راه نوین برای ساخت کارآمد برنامه های کاربردی مدرن و قابل انعطاف وِب بود. بنابراین، شگفت آور نیست که ASP.NET مستقیما و به شکلی کارآمد به رفع تمامی کاستی های ASP می پردازد. کد کامپایل شده و قابل نگهداریASP.NET به جای یک موتور اسکریپت ، از .NET Common Language Runtime ( CLR ) استفاده می کند. این، به معنی امكان استفاده از تمام توانایی های زبان .NET برای توسعه دهندگان ASP.NET است و کد با استفاده از فرآیند کامپایل کردنٍ به هنگام .NET استاندارد، کامپایل می شود و عملکرد بهینه و امنیت type را بهمراه دارد. افزون براین، ASP.NET از مزیت کارائی و قابلیت نگهداری برنامه نویسی شئی گرا سود می برد. هر صفحه ASP.NET که شما به وجود می آورد، منجربه ایجاد یک کلاس مشتق شده از Generic system.web.UI.Page class می گردد. مثالی از این کلاس، آن چیزی است که صفحه ASP.NET شما در هر نوبت احضار بوجود می آورد. وقتی شما نیاز به جابجائی یک جزء از برنامه کاربردی ASP.NET خود دارید، می توانید این کار را بدون پائین آوردن خدمتگزار انجام دهید. درحقیقت، تنها کاری که باید انجام دهید کپی کردن فایل جدید روی فایل قبلی است- ASP.NET به ارائه خدمات به تمامی درخواستهایی که از جزء قبلی استفاده می کردند ادامه می دهد تا زمانی که درخواست ها پایان گیرد. امکان پذیری این موضوع به دلیل این است که CLR به نسخه های متعدد یک جزء اجازه حضور می دهد، حتی در داخل یک پردازش. جداسازی کد از HTML معماری ASP.NET یک جداسازی شفاف بین HTML و عناصر کد هر صفحه بوجود آورده به شما اجازه می دهد این عناصر را در فایل های مجزا ذخیره کنید. این امر همکاری کارآمد تیم های برنامه نویسی و طراحی را بسیار آسان تر می کند محیط توسعه گرافیکیVisual Studio .NET یک محیط بسیار غنی توسعه برای توسعه دهندگان وِب ایجاد می کند. شما به همان روش عمل در Visual Basic می توانید کنترل ها و سری ویژگی ها را بکشید و بیندازید و نه تنها برای کدهایتان ، بلکه برای HTML و XML از پشتیبانی کامل IntelliSense برخوردار هستید. به علاوه، محیط توسعه Visual Studio .NET از قابلیت برنامه ریزی و پیشرفت بهره مند است، بنابراین شما می توانید در انتظار فراهم آمدن جریان پایداری از نسخه های جدید توسعه یافته از سوی مایکروسافت و عرضه کنندگان مستقل نرم افزار باشید. مدیریت وضعیت دوستدار خوشه ASP.NET شما را مجبور نمی کند وضعیت session را روی خدمتگزاری ذخیره کنید که در حال پردازش درخواست اولیه کاربری در یک session است. در عوض، شما می توانید وضعیت را خارج از پردازش و در حافظه یا در یک بانک اطلاعاتی SQL Server ذخیره کنید.این شِِمای مدیریت session از توازن بارگذاری در مجموعه های خدمتگزار پشتیبانی می کند و حتی به داده session شما اجازه می دهد که در صورت بروز مشکل برای خدمتگزاری که آن را به وجود آورده است، به بقای خود ادامه دهد.

 

فایل های پیکربندی مبتنی بر XML

 

تنظیمات پیکربندی در فایل های XML ذخیره می شوند که شما به راحتی می توانید آن را بخوانید و ویرایش کنید. بعلاوه، شما به آسانی می توانید آنها را به همراه سایرفایل ها دربردارنده برنامه کاربردی خود، در خدمتگزار دیگری کپی کنید.

 

اداره خودکار postback ها و پویشگران مختلف

 

ASP.NET به صورت خودکار حاوی یک کنترل مخفی به روی صفحات وِب است که وضعیت تمامی کنترل ها را روی فرمی که این ویژگی را ممکن ساخته است، به صورت فشرده نگه می دارد. ASP.NET از این داده viewstate برای پر کردن خودکار و کارآمد داده های وارد شده توسط کاربر استفاده می کند.

 

علاوه بر این، ASP.NET قادر است به صورت خودکار به شناسائی پویشگر یا ابزاری بپردازد که برای ارسال درخواست مورد استفاده قرار گرفته است و خروجی را با توانمندی های مشتری متناسب کند.

 

 

و جالب و سرگرم کننده است !

 

بسیاری از برنامه نویسان باتجربه از کار توسعه وِب، با وجود اهمیت روزافزون آن گریزان اند، چرا که فرآیند ساخت یک برنامه کاربردی وِب کاری بس کسالت بار و ناهنجار است. برخلاف عمل توسعه نرم افزار که تنها به یک زبان مثل ویژال بیسیک یا C++ متکی است، حوزه وِب شما را وادار می کند که شماری از فن آوری ها و زبان های نامرتبط به یکدیگر را ترکیب و مربوط کنید. مختصر آن که این، کاری آشفته و درهم و برهم است!

 

ASP.NET به طور کامل نیاز شما به فن آوری های استاندارد ازجمله HTML، XML و CSS و بعلاوه زبان منتخب برنامه نویسی تان را مرتفه نمی سازد. اما درخواهید یافت که ASP.NET در عالم توسعه وِب، نقش تاثیر گذاری برعهده دارد، و برای این کار از یک چارچوب کاری همه جانبه برخورداراست که تمامی این فن آوری ها را در برگرفته آنها را در یک محیط توسعه بسیارکارآمدتر- و، بله، جذاب تر- از آنچه قبلا مقدور بود، یکپارچه می کند.

 

 

برنامه های کاربردی وِب ASP.NET

NET تنها یک نسخه تازه و توسعه یافته ASP نیست بلکه یک محصول کاملا جدید و متکی بر یک معماری کاملا نوین برای ساخت برنامه های کاربردی وِب است. یک راه مناسب برای درک این معماری نوین، ایجاد یک برنامه کاربردی جدید وِب ASP.NET درMicrosoft Visual Studio است.

 

ایجاد یک برنامه کاربردی جدید وِب

 

در این معرفی، ما از زبانNET. Visual Studio و Visual Basic.NET استفاده می کنیم. اما برای ساخت برنامه های کاربردی ASP.NET نیازی به ویژال استودیو نیست. شما می توانید این فایل ها را در Notepad یا در ویرایشگر دلخواه خود ایجاد نمایید و می توانید به کمک ابزارهای خط فرمان که به صورت رایگان با چارچوب کاری .NET همراه است، فایل ها را در یک برنامه کاربردی کامپایل کنید. اما اگر یکبار با ویژال استودیو کار کنید، احتمالا آن را از دست نخواهید داد.

 

همچنین شما می توانید علاوه بر ویژال بیسیک از سایر زبانهای .NET هم استفاده کنید. معمول ترین جانشین ویژال بیسیک، C#، یک زبان نوین با قانون نوشتاری مبتنی بر C است که شباهت بسیاری به جاوا دارد. تمامی ویژگی های ASP.NET بدون توجه به زبانی که شما به کار می گیرید، در اختیار شما قرار دارد.

جستجو
  • نظر سنجی
    مهمترین عنصر یک سایت از نظر شما:






    آمار سایت
    بازدیدهای امروز : نفر
    بازدیدهای دیروز : نفر
    كل بازدیدها : نفر
    بازدید این ماه : نفر
    بازدید ماه قبل : نفر
    تعداد نویسندگان : عدد
    كل مطالب : عدد
    آخرین بروز رسانی :
    امکانات وب
    حمایت از کودکان مبتلا به سرطان


    LiveZilla Live Help