You are on page 1of 6

‫قابلیتهای جدید در ‪ASP.

NET 2‬‬

‫با عرضه نسخه اول ‪ ASP.NET‬و معرفی دسته‌ای از ويژگی‌های جديد انقلبی در توسعه برنامه‌های‬
‫كاربردی تحت وب بوجود آمد‪ .‬نسخه دوم ‪ ASP.NET‬با اسم رمز ‪ Whidbey‬اصلحات زيادی را‬
‫بوجود آورده كه موجب افزايش قدرت خلقيت و ابداع برنامه نويسان شده است‪ .‬اين امر خود‬
‫باعث بوجود آمدن محصولتی قوی و با كارايی بال و قابليت‌های فراوان می ‌شود‪ .‬علوه بر اين ‌ها‬
‫‪ ASP.NET 2‬همچنين دارای تعدادی ويژگی ممتاز مانند صفحات اصلی (‪ ،)Master Pages‬زمينه‌ها‪،‬‬
‫شخصی ‌سازی و‪ ...‬می ‌باشد‪ .‬بالغ بر ‪ ۴۵‬کنترل جديد اضافه شده است که اين اجازه را به ما می‬
‫دهند تا به سادگی هر چه تمام و قابليت اطمينان بال برنامه های کاربردی تحت وب را در کمتر از‬
‫چند ساعت بوجود آوريم برنامه هايی که شايد قبل" ايجاد کردن آنها روزها و چه بسا هفته ها زمان‬
‫در بر می داشت‪ .‬اين مقاله شما را با تعدادی از این قابليت های مهم آشنا می ‌كند‪.‬‬

‫و اما ويژگيهای جديد‪‌:‬‬

‫سرعت و کارايی‪:‬‬

‫امروز ‪ ASP.NET‬سریعترین سرویس دهنده برای برنامه های تحت وب سمت سرور می باشد‪.‬‬
‫هدف از بوجود آوردن نسخه دوم یا ‪ Whidbey‬ارائه سرویسی حتی سریعتر از نسخه فعلی می‬
‫باشد‪ ASP.NET 2 .‬اکنون قابلیت آن را دارد تا بصورت ‪ 64‬بیتی کامپایل شود‪ .‬این بدان معناست‬
‫که برنامه می تواند از تمام فضای آدرس حافظه (‪ )full memory address space‬پردازنده های‬
‫جدید ‪ 64‬بیتی سود ببرد‪ .‬برنامه نویسان می توانند برنامه های ‪ ASP.NET 32‬بیتی خود را بدون هیچ‬
‫تغییری در سورس کد و حتی دوباره کامپایل کردن‪ ،‬به سادگی در سروری که از ‪ASP.NET‬‬
‫‪ Whidbey 64‬بیتی سود می برد کپی کنند تا بطور خودکار بصورت ‪ )JIT )Just In Time‬کامپایل‬
‫شود و به صورت یک برنامه کاربردی ‪ 64‬بیتی عمل کند‪.‬‬

‫صفحات اصلی (‪: )Master Pages‬‬

‫در ‪ ASP.NET‬با مفهوم جديدی به نام ‪ Master Page‬سروكار خواهیم داشت‪ Master Page .‬يك‬
‫فايل پايه است كه در كل پروژه مشترك می باشد و از آن می ‌توان در ايجاد طرح ‌بندی تمام‬
‫صفحات يك پروژه استفاده كرد‪ .‬درست مثل ‪ Template‬ها كه قبل ً آن ‌ها را با استفاده از ‪User‬‬
‫‪ Control‬ها پياده‌سازی می ‌كرديم‪.‬‬

‫اين صفحات اصلی با پسوندد ‪ master.‬دذخيره می ‌شوند و علوه بر شامل بودن قسمت ‌هايی كه‬
‫برای ايجاد طرح ‌بندی و ظاهر صفحه بكار می ‌روند‪ ،‬می ‌توانند شامل تگ‌های ‪ HTML‬هم باشند‪ .‬با‬
‫‪ Master page‬ها به صورت مدل شئ ‌گرايی نيز می ‌توان برخورد كرد لذا استفاده كردن از آن‌ها‬
‫در بعضی صفحات و استفاده نكردن در صفحات ديگر كامل ً در اختيار شماست‪.‬‬

‫با اشتراك گذاشتن كد در كل پروژه‪:‬‬

‫با استفاده از ‪ ASP.NET 2‬ايجاد كامپوننتهايی كه در برنامه استفاده فراوان دارند بسيار ساده شده‬
‫است‪ .‬همه آن چيزی كه نياز داريد اين است كه كامپوننت مورد نظر را در يك دايركتوری از قبل‬
‫تعريف شده به نامد ‪ Code‬دايجاد كنيد‪ .‬همه كامپوننتهايی كه در اين دايركتوری قرار می گيرند به‬
‫هنگام كامپايل شدن در ‪ runtime‬به صورت يك ‪ Assembly‬در خواهند آمد كه برای تمام صفحات‬
‫يك پروژه در دسترس می ‌باشد‪.‬‬

‫ظاهر مشترك صفحه ها با استفاده از زمينه ها و پوسته ها (‪)Themes and Skins‬‬

‫‪ Theme‬دها الگو های گرافيكی هستند كه به شما اجازه می دهند تا برای صفحات و يا كنترلها‬
‫ظواهر مختلفی را تعريف كنيد‪ .‬فايل های ‪ Theme‬با پسوند ‪ skin.‬ذخيره می شوند و همه آنها در‬
‫يك دايركتوری ويژه بنام ‪ Themes‬قرار می گيرند‪ .‬به همراه ‪ ، ASP.NET 2‬تعداد زیادی از ‪Theme‬‬
‫های آماده موجود می باشد‪ .‬همچنين با همه اينها اين امكان وجود دارد كه شما فايلهاید ‪Theme‬‬
‫سفارشی خود را ايجاد كنيد‪ .‬فايلهای ‪ Theme‬را تا حدودی می توان با فايلهای ‪ css‬مقايسه كرد‪.‬‬

‫مديريت كاربران ‪:‬‬

‫مكانيزمددد ‪ Authentication‬ددداز د ددنيازهای د ددمشترك د دداكثر د ددوب د ددسايت د ددها د ددمی د ددباشد‪.‬ددد ‪Form‬‬
‫‪ Authentication‬يكی از معمولترين روشها برای تصديق كاربران برای ورود به يك سيستم تحت‬
‫وب می باشد‪ .‬در ‪ ASP.NET 2‬به اين مهم توجه بسياری شده‪ ،‬چراكه با ويژگيهای جديد كه به اين‬
‫امر اختصاص داده شده نه تنها می توان به تأييد ورود كاربرن پرداخت بلكه می توان به مديريت‬
‫كاربران و گذرواژه های آنان نیز پرداخت‪ .‬كنترل های جديدی در ‪ ASP.NET 2‬وجود دارند كه سهولت‬
‫و اطمينان بيشتری را در مكانيزمد ‪ Authentication‬دموجب می شوند‪ .‬از جمله اين كنترل های‬
‫جديد می توان به ‪ Login ، LoginView ، LoginStatus ، LoginName‬و ‪PasswordRecovery‬‬
‫اشاره كرد‪.‬‬

‫ويژگيهای شخصی سازی‪:‬‬

‫بسياری از وب سايت ها تركيب بندی مطالب ‪ ،‬گرافيك ‪ ،‬رنگ پس زمينه و بعضی موارد ديگر را بر‬
‫عهده كاربران خود می گذارند‪ .‬برای اين منظور اطلعات مربوط به نوع نمايش وب سايت برا ی‬
‫هر كاربر در يك پايگاه داده قرار می گيرد و با ورود هر كاربر‪ ،‬آنچنان كه او قبل" انتخاب كرده است‬
‫وب سايت نمايش داده می شود‪ ASP.NET 2 .‬ويژگيهای جالبی را به اين امر اختصاص داده است‪.‬‬

‫در مقوله شخصی سازی‪ ،‬اطلعات مربوط به هر كاربر به صورت يك فرمت ماندگار ذخيره می‬
‫شود‪ .‬اين خاصيت به شما كمك می كند تا اطلعات كاربران را به آسانی و بدون نياز به اينكه خود به‬
‫ايجاد پايگاه داده بپردازيد‪ ،‬مديريت كنيد‪ .‬علوه بر اين سيستم فوق استفاده از يك ‪ API‬سازگار كه‬
‫دارای سهولت استفاده فراوان می باشد موجب می شود كه اطلعات هر كاربر در همه قسمتهای‬
‫يكد دپروژهد ددرد ددسترسد دباشد‪.‬د دشماد دهمچنيند دمید دتوانيددد ‪ Object‬ددهاید دمختلفید دشاملدد ‪User‬‬
‫‪ Informtion ، User Performance‬و يا ‪ Business Information‬را برای انعطاف پذيری بيشتر‬
‫در اختيار داشته باشيد‪.‬‬

‫سيستم شخصی سازی در ‪ ASP.NET 2‬از يك سيستم ذخيره سازی كلی برای ذخيره داده ها و در‬
‫دسترس گذاشتن آنها استفاده مي كند‪.‬د ‪ ASP.NET 2‬دبراي مكانيزم سيستم شخصی سازی بطور‬
‫پيش فرض از ‪ SQL Server‬استفاده می كند‪.‬‬

‫‪ Data Control‬ها ‪:‬‬

‫‪ ASP.NET 2‬روشهای بسيار قدرتمند و در عين حال ساده ای را برای كار با داده ها و ‪Data‬‬
‫‪ binding‬فراهم آورده است‪ .‬برای اين منظور چند كنترل جديد به ‪ ASP.NET‬اضافه شده است كه‬
‫به معرفی آنها می پردازيم‪.‬‬

‫‪ : SqlDatasource‬اين كنترل براي كار كردن با ‪ SQL Server ، OLE DB ، ODBC‬و ‪Oracle‬‬
‫طراحيی شده است‪ .‬اين كنترل شما را قادر خواهد ساخت تا دستورات ‪ SQL‬نظير ‪select ،‬‬
‫‪ update ، delete‬و ‪ insert‬را براحتی پياده سازی كنيد‪.‬‬

‫>‪<html‬‬

‫>‪<body‬‬

‫>"‪<form runat="server‬‬

‫"‪<asp:SqlDataSource ID="Titles" RunAt="server‬‬

‫‪ConnectionString="server=loc‬‬
‫‪alhost;database=pubs;Integrated‬‬

‫"‪Security=SSPI‬‬

‫=‪SelectCommand‬‬

‫>‪"select title_id, title, price from titles" /‬‬

‫>‪<asp:DataGrid DataSourceID="Titles" RunAt="server" /‬‬

‫>‪</form‬‬

‫>‪</body‬‬

‫>‪</html‬‬

‫>‪</html‬‬

‫‪ : ObjectDatasource‬هرگاه شما با يك برنامه چند ليه ای كار مي كنيد گاها" مواردی پيش می‬
‫آيد كه مجبوريد داده هايی بعضا" پيچيده و مركب را برای پردازش از ليه ميانی به ليه نمايشد (‬
‫‪ )Presentation layer‬ارسال كنيد‪ .‬اين كنترل جديد اجازه می دهد تا اينگنه داده های ارجاع داده‬
‫شده از ليه ميانی توسط ليه نمايش يكسان سازی شود و بصورت مجتمع مورد پردازش قرار‬
‫گيرند‪.‬‬

‫‪ : AccessDatasource‬اين كنترل برای كار با پايگاه داده ‪ Access‬طراحی شده است‪.‬‬

‫‪ XmlDatasource‬د‪ :‬اين كنترل شما را قادر خواهد ساخت تا داده هايی به فرمتد ‪ XML‬درا در‬
‫دسترس داشته باشيد‪ .‬اين كنترل ممكن است داده هاید ‪ XML‬درا از يك فايل بخواند يا اينكه از‬
‫طريق يك شئد ‪ DataSet‬دآنها را در خود جای دهد‪ .‬يكبار كه داده هاید ‪ XML‬دبه اين كنترل انتقال‬
‫يافت‪ ،‬اين كنترل می تواند به عنوان سورس داده ها برای كنترلهای ‪ Data-bound‬نظير ‪DataList‬‬
‫‪ ، TreeView ، Menu‬و غيره ايفای نقش كند‪.‬‬

‫‪ : DataSetDatasource‬با استفاده از اين كنترل بسادگی می توان بين داده های ‪ XML‬و داده‬
‫های رابطه ای سوئيچ كرد‪.‬‬

‫‪ SitemapDatasource‬د‪ :‬اين كنترل براید ‪ navigation‬دبين صفحات وب بكار می رود‪ .‬برای‬


‫اين منظور لزم است كه يك فايل ‪ XML‬تحت نام ‪ app.sitemap‬ايجاد كنيد كه شامل صفحات بكار‬
‫رفته در پروژه باشد‪ .‬اين صفحات بصورت سلسله مراتبي در اين فايل قرار می گيرند‪ .‬ماداميكه‬
‫فايل ‪ app.sitemap‬را تهيه كرديد می توانيد كنترل ‪ SitemapDatasource‬را بوسيله آن پر كنيد‬
‫و سپس اين كنترل را برای پر كردن كنترل های ديگری نظير ‪ TreeView‬و امثال آن مورد استفاده‬
‫قرار دهيد‪.‬‬

‫‪ : GridView‬در يك كنترل ‪ GridView‬هر ستون نمايش دهنده يك فيلد و هر رديف نمايش دهنده‬
‫يك ركورد است‪ .‬شما می توانيد كنترل ‪ GridView‬را به خورد يك كنترل ‪ SqlDatasource‬دهيد‪.‬‬

‫‪ DetailsView‬د‪:‬د دايند دكنترلد دمید دتواندد دبعنواند ديكد دكنترلد دمتصلد دبهد ‪ GridView‬دعملد دكندد دبدين‬
‫صورت كه جزئيات هر ركورد از سورس داده ها در ‪ GridView‬را نمايش می دهد‪.‬‬

‫افزايش قابليت ‪: Caching‬‬

‫در نسخه جدید مكانيزم جديدی از ‪ Caching‬بنام باطل سازی يا ‪ invalidation‬معرفی شده است‪.‬‬
‫با استفاده از اين قابليت هر شئ ‪ Cache‬كه داده هايی از ‪ SQL Server‬را در خود دارد به هنگام‬
‫تغيير آن داده در ‪ SQL Server‬به طور اتوماتيك تغيير پيدا مي كند و مقدار جديد آن داده را در خود‬
‫جای مي دهد‪ .‬نسخه جديد ‪ SQL Server‬با اسم رمز ‪ Yukon‬نيز اين مكانيزم كاربردی را به همراه‬
‫دارد‪ .‬با استفاده از ‪ SQL Server‬جديد هرگاه در مجموعه داده های ‪ Cache‬شده تغييری در پايگاه‬
‫داده حاصل شود‪ SQL Server ، ASP.NET ،‬را مطلع می سازد تا آيتم های تغيير كرده در ‪Cache‬‬
‫را ‪ invalidate‬كند‪.‬‬

‫اداره وب سایت (‪: )Administration‬‬

‫یکی دیگر از مواردی که کمبود آن در ‪ ASP.NET 1.x‬حس میشد وجود قابلیتهایی برای اداره وب‬
‫سایت توسط مدیر سایت بود‪ .‬قبل" برای تغییر پاره ای از مشخصات اصلی یک برنامه تحت وب نیاز‬
‫به ادیت کردن فایلهای ‪ Web.config‬و در موارد کلی تر ‪ Machine.config‬بود‪ .‬در ‪ASP.NET 2‬‬
‫وجود یک ‪ API‬کامل برای مدیریت سایت اعمال چنین تغییراتی را بسیار ساده نموده است‪ .‬این ‪API‬‬
‫دارای یک واسط کاربر گرافیکی هم می باشد که توسط دفایلد ‪ Webadmin.axd‬دبه وب سایت‬
‫اضافه می شود‪ .‬به این ترتیب کنترل سرویسهای مختلفی که توسط ‪ ASP.NET 2‬ارائه می شود‪،‬‬
‫نظیر سرویس عضویت و یا سرویس مدیریت وظایف و ‪ ...‬در اختیار مدیریت سایت قرار می دهد‪.‬‬

‫مدیریت ‪: Client Callback‬‬

‫حتما" شما نیز بارها و بارها با این مشکل در وب فورم های خود برخورد کرده اید که فرضا" وقتی‬
‫روی یک دکمه سمت سروری در گوشه ای از صفحه کلیک می کنید علی رغم نیاز‪ ،‬کل صفحه‬
‫‪ Refresh‬دمی شود‪ .‬بعضا" اینگونه مشکلت را می توان با نوشتند ‪ script‬دهای سمت سرور حل‬
‫نمود ولی آیا می توان همیشه از این روش به عنوان یک راه حل مناسب استفاده کرد؟ در این جا‬
‫نیز ‪ ASP.NET 2‬به کمک ما می آید و با معرفی ویژگی جدیدی که از پروتکل ‪ XML-HTTP‬تبعیت‬
‫می کند‪ ،‬مشکل ‪ Refresh‬شدن بی مورد کل صفحه در یک ‪ Postback‬ساده را حل می کند‪.‬‬
‫افزايش امنيت‪:‬‬

‫يكی از مهمترين قابليت های جديد در زمينه امنيت در ‪ ASP.NET‬يك سيستم مديريتی جديد است كه‬
‫شما را قادر خواهد ساخت تا اختيارات كاربران را براحتی مديريت كنيد و امكان دسترسی های‬
‫مختلفید درا دبه دقسمتهايد دمختلف دسايتد ددهيد‪.‬د دايند دسيستمد دبهد شماد داجازهد دمی ددهدد دتاد دگروهد های‬
‫مختلفی از كاربران را ايجاد كنيد و برای هر كاربر اختيارات تعريف شده ای مانند مدير‪ ،‬فروشنده‪،‬‬
‫عضو و ‪ ...‬تعيين كنيد‪.‬‬

‫ويژگيهای ذكر شده فوق گوشه ای از قابليتهای جديد در ‪ ASP.NET 2‬بود‪ .‬مطمئنا" با مطالعه موارد‬
‫فوق متوجه بهبود و سادگی ايجاد پروژه های مبتنی بر وب به كمك فن آوری ‪ NET.‬شده ايد‪ .‬امروزه‬
‫باد دافزايشد دگرايشد دبهد دسمتد دايجادد داينگونهد دبرنامهد دهاید دكاربردید (‪ )Web Applications‬دداشتن‬
‫قابليتهای اينگونه كه باعث بوجود آمدن يك وب سايت يا برنامه كاربردی تحت وب با كارايی بال‪،‬‬
‫سرعت قابل قبول و همراه با امنيت بال می شود‪ ،‬بسيار مفيد و سودمند است‪.‬‬

Rate