ASP.NET2005
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

مروری بر ویژگی های ASP.NET 2

اذهب الى الأسفل

مروری بر ویژگی های ASP.NET 2 Empty مروری بر ویژگی های ASP.NET 2

پست  BARAN الإثنين نوفمبر 16, 2009 3:53 am

مقدمه
ريشه هاي ASP.NET2.0 در يك فن آوري وب قديمي تر مايكروسافت نهفته است كه Active Server Page ناميده مي شود .
ASP روشي آسان و سريع براي ساخت صفحات وب بود. صفحات ASP شامل صفحاتي بودند كه حاوي تركيبي از زبانها بود . مزيت ASP اين بود كه مي توانستيد از دستورالعمل هاي كد VBScript يا Jscript در صفحات استفاده كرده و سپس آن را در سرور وب اجرا كنيد ، قبل از اينكه آن را به مرورگر وب كاربر نهائي بفرستيد . اين روشي آسان براي ايجاد صفحات وب پويا بود كه مي توانست بر اساس پارامترهاي تعيين شده توسط برنامه نويس سفارشي شود .
ASP.NET 2.0 آخرين نسخه اين محصول است و بخش تعبيه شده اي از .NET Framework 2.0 مي باشد . اين نسخه از Framework از لحاظ كد Whidbey است. ممكن است اين نسخه از ASP.NET را تحت عنوان ASP.NET Whidbey شنيده باشيد . ASP.NET 2.0 heralds موج جديدي از برنامه نويسي است كه بايد هر يك از موانع باقيمانده را بر طرف كند تا اين روش جديد كد نويسي برنامه هاي وب را بپذيرد.
هنگامي كه گروه ASP.NET كار بر روي ASP.NET 2.0 را شروع كردند ، اهداف خاصي داشتند، اين اهداف بر بهره وري برنامه نويس ، راهبردي و مديريت ، كارآيي و مقياس پذيري و قابليت هدف قرار دادن هر وسيله اي تمركز داشتند . اين اهداف با اين نسخه محصول بطور كامل حاصل شدند.

بهره وري برنامه نويس :
بيشتر تمركز ASP.NET 1.0 بر بهره وري است . بهره وري حاصله كه در انتقال از ASP 3.0 به ASP.NET 2.0 صورت گرفت ، آيا مي تواند بيشتر هم باشد ؟
يك هدف گروه برنامه نويسي براي ASP.NET 2.0 ، بر طرف كردن كدنويسي زيادي است كه ASP.NET نياز دارد و ساده تر كردن وظايف ASP.NET است . گروه ASP.NET كه ASP.NET 2.0 را طراحي كردند ، قصد كاهش دو سوم تعداد خطوط كد مورد نياز براي يك برنامه ASP.NET را داشتند ! آن ها در اين نسخه موفق به انجام اين كار شدند و شما هم اكنون از سرعت ايجاد برنامه در ASP.NET لذت مي بريد .

كارايي و مقياس پذيري :
يكي از اهداف ASP.NET 2.0 فراهم كردن سريع ترين سرور برنامه وب دنياست . ASP.NET 2.0 داراي تعدادي بهبود كارآيي است كه به تعدادي از آنها اشاره خواهيم كرد .
يكي از مهيج ترين بهبودهاي كارآيي ، قابليت جديدي با كمك Microsoft SQL Server است.
هم اكنون ASP.NET 2.0 داراي يك ويژگي به نام نامعتبر ساختن كش SQL است . پيش از ASP.NET 2.0 ، كش كردن نتايجي كه از SQL Server مي آيند و بهنگام رساني بر طبق يك فاصله زماني امكان پذير بود (مثلا هر 15 ثانيه ) . اين بدان معني است كه كاربر نهائي ممكن است در صورت تغيير مجموعه نتيجه در طي هر پريود 15 ثانيه اي ، داده تاريخ گذشته را ببيند.
در برخي موارد ، اين مجموعه نتيجه فاصله زماني قابل قبول نيست . در يك موقعيت ايده آل ، مجموعه نتيجه اي كه در كش ذخيره مي شود ، در صورتي كه تغيير مرتبطي در منبعي كه مجموعه نتيجه از آن بازيابي مي شود، رخ ندهد ، تخريب مي شود ( در اين مورد SQL Server )
. در ASP.NET 2.0 ، مي توانيد چنين حالتي را بااستفاده از نا معتبر كردن كش SQL داشته باشيد . اين بدان معني است كه هنگامي كه مجموعه نتيجه از SQL Server تغيير كند ، كش خروجي براي تغيير تريگر مي شود و كاربر نهايي هميشه آخرين مجموعه نتيجه را مي بينيد . داده ارائه شده هرگز تاريخ گذشته نيست .
تغيير بزرگ ديگر در ASP.NET ، مساله كارآيي و مقياس پذيري است . هم اكنون ASP.NET 2.0 پشتيباني 64 بيتي را فراهم كرده است . اين بدان معني است كه هم اكنون مي توانيد برنامه هاي ASP.NET خود را روي پردازنده هاي AMD يا Intel ، 64 بيتي اجرا كنيد .
به دليل اين كه ASP.NET 2.0 با ASP.NET 1.0 كاملا سازگار است ، هم اكنون مي توانيد هر برنامه ASP.NET قبلي را داشته باشيد ، برنامه را در .NET Framework 2.0 مجدادا كامپايل كنيد و آن را برروي يك پردازنده 64 بيتي اجرا كنيد .

عضويت و مديريت نقش :
در نگارش هاي قبلي ، چنانچه پورتالي را مي ساختيد كه نياز به Login كاربران به برنامه جهت حصول دستيابي مجاز داشت ، بايد آن را شخصا ايجاد مي كرديد . كمي ترفند براي ايجاد برنامه هايي با نواحي قابل دستيابي افراد ، لازم است .
در ASP.NET 2.0 هم اكنون اين قابليت تعبيه شده است . هم اكنون مي توانيد اعتبار كاربران را تاييد كنيد ، همانگونه كه در زير نشان داده شده است :
C#
If (membership.ValidateUser(UserName.Text,Password.Text)){
//Allow access code here
}
ASP.NET 2.0 يك سرويس مديريت تعيين هويت و اعطاي مجوز جديد را معرفي كرده است كه Login ، تعيين هويت ، اعطاي مجوز و مديريت كاربراني كه نياز به دستيابي به برنامه ها يا صفحات وب را دارند ، انجام مي دهد . اين سرويس مديريت نقش و عضويت جديد ، يك چارچوب كاري با پياده سازي آسان است كه با استفاده از Microsoft Access يا Microsoft SQL Server به عنوان حافظه داده سرور كار مي كند . اين چارچوب كاري جديد داراي يك API جديد نيز است كه دستيابي با برنامه نويسي را به قابليت هاي سرويس هاي مديريت نقش و عضويت ميسر مي سازد . علاوه بر اين ، تعدادي از كنترل هاي سرور جديد ، ايجاد برنامه هاي وبي را آسان مي كنند كه هر چيزي را كه اين سرويس ها بايد ارائه دهند ، مشاركت مي دهند.

كنترل سرور CreateUserWizard:
اولين كنترل سروري كه سرويس عضويت را به كار مي برد ، كنترل سرور CreateUserWizard است . اين كنترل امكان مي دهد كاربران رجيستر شده را براي بازيابي بعدي در حافظه داده خود قرار دهيد . اگر اولين صفحه برنامه شما به كاربران نهائي اجازه رجيستر شدن را بدهد ، حداقل بايد يك Login و كلمه عبور كاربر را بازيابي كنيد تا بتوانيد از آنها براي Login بعدي به سايت استفاده نمائيد .
براي ساده كردن كارها ، كنترل CreateUserWizard كنترل كاملي بر انجام اين موارد دارد. كاربرد ساده اين كنترل در زير نشان داده شده است :
<asp:CreateUserWizard ID=" CreateUserWizard1" Runat="server">
</asp: CreateUserWizard>

كنترل سرور Login :
كنترل سرور Login امكان مي دهد تا كاربران تعيين هويت نشده را بامجاز ساختن آن ها براي فراهم كردن اعتبارات Login اي كه مي توانند در يك حافظه داده تاييد شوند ، به كاربران تعيين هويت شده تبديل كنيد . نمونه اي از كاربرد اين كنترل در زير آمده است :
<asp:Login ID="Login1" Runat="server" ></asp:Login>

مديريت نقش :
علاوه بر مرور سرويس عضويت ، ASP.NET 2.0 جنبه ديگر سرويس مديريت كاربر نهايي را فراهم مي كند : سرويس مديريت نقش ASP.NET . سرويس عضويت تمام جزييات تعيين هويت را براي برنامه هاي شما در بر مي گيرد در حالي كه سرويس مديريت نقش ، اعطاي مجوز را در بر مي گيرد . همانند سرويس عضويت ، مي توانيد از هر تامين كننده ديگرنيز استفاده كنيد . در واقع ، اين سرويس به روش هاي مختلف با سرويس عضويت قابل مقايسه است.




پيمايش سايت :
برنامه هاي وبي كه مي نويسيد ، معمولا بيش از يك صفحه هستند . معمولا تعدادي صفحه ايجاد مي كنيد كه همگي بر طبق الگويي به هم متصلند. اگر حركت بين صفحات را نيز بسازيد ، براي كاربر نهايي ، كار در برنامه شما آسان مي شود .
روش موجود براي ساخت پيمايش در برنامه هاي وب ، پخش كردن صفحات با فوق پيوندهاست. فوق پيوندها معمولا با استفاده از فايل هاي include يا كنترل هاي كاربر به صفحات وب اضافه مي شوند . آن ها همچنين مي توانند به طور مستقيم در صفحه كد نويسي شوند ، به طوري كه در هدر يا نوار جانبي صفحه مشاهده شونده ظاهر شوند . مشكلات كار با پيمايش هنگامي بدتر مي شوند كه در بين صفحات حركت مي كنيد يا نام صفحات را تغيير مي دهيد . گاهي اوقات برنامه نويسان مجبور مي شوند در برنامه براي رفتن به صفحه اي ، برخي از جنبه هاي پيمايش را تغيير دهند. اعضاي گروه ASP.NET اين مشكل را با مجموعه هايي از كنترل هاي سرور مبتني بر پيمايش در ASP.NET 2.0 حل كردند.ابتدا مي توانيد نقشه سايت را براي برنامه خود در يك فايل XML كه كنترل هاي خاص مي توانند به طور موروثي از آن كار كنند ، بسازيد.در زير فايل نقشه سايت نمونه اي نشان داده شده است:
<?xml version="1.0" encoding="utf-8"?>
<sitemap>
<siteMapNode title="Home" description="Home Page" url="Home.aspx">
<siteMapNode title="News" description="News Page" url="News.aspx">
.
.
.
</siteMapNode>
</sitemap>
پس از طراحي نقشه سايت ، مي توانيد از اين فايل به عنوان منبع دادهاي در اين زمينه دو كنترل سرور پيمايش سايت جديد نظير كنترل هاي سرور TreeView و SiteMapPath استفاد كنيد .
كنترل سرور TreeView به شما امكان مي دهد تا يك سيستم پيمايش سايت قابل توسعه را در برنامه خود قرار دهيد .
SiteMapPath كنترلي است كه قابليتي را براي قرار دادن برخي از فراخواني هاي قطعات پيمايشي در برنامه فراهم مي كند تا كاربر بتواند مسيري را ببيند كه در برنامه دارد و بتواند به آساني سطوح بالاتر درخت را پيمايش كند.
در زير نمونهاي از كاركرد كنترل سرور SiteMapPath را نشان داده ايم:
Home > Finance > Markets > Iran Market Report
اين قابليت جديد پيمايش سايت ، روش بزرگي را براي داشتن دستيابي با برنامه نويسي به چيدمان سايت فراهم مي كنند و حتي مواردي نظير نقش كاربران نهايي را براي تعيين بخش هايي از سايت براي نمايش به حساب مي آورند.

الحاقاتي بر چاچوب كاري صفحه
چارچوب كاري صفحه ASP.NET داراي برخي الحاقات جديد خيال انگيز است كه مي توانيد آن ها را در برنامه خود داشته باشيد . يكي از اين الحاقات خيال انگيز ، قابليت ساخت صفحات ASP.NET بر اساس وراثت ويژوال است . اين امر در دنياي Windows Forms امكان پذير است ولي دستيابي به آن در ASP.NET مشكل تر است . هم چنين قابليتي براي اعمال ساده يك ظاهر و احساس مستحكم بر صفحات برنامه خود با استفاده از تم ها داريد.

صفحات اصلي (Master Page)
با معرفي صفحات اصلي در ASP.NET 2.0 ، هم اكنون مي توانيد از وراثت ويژوال در برنامه هاي ASP.NET 2.0 خود استفاده كنيد . به دليل اينكه بيشتر برنامه هاي ASP.NET داراي ساختاري مشابه در سراسر صفحات خود هستند ، ساخت يك الگوي صفحه براي يك بار و استفاده از آن الگو در سراسر برنامه منطقي است. در ASP.NET 2.0 اين كار با ايجاد يك صفحه .master انجام مي شود. هر چيزي كه بخواهيد در الگو قرار دهيد ، بايد در فايل master قرار گيرد .
يك صفحه اصلي نمونه ، ممكن است داراي يك هدر ، يك پانويس و هر عضو ديگري باشد كه تمام صفحات آن را به اشتراك خواهند گذاشت. علاوه بر اين ، عناصر اصلي را كه ممكن است در هر صفحه اي كه ارث مي برد و از اين الگو استفاده مي كند ، در نظر داشته باشيد ، مي توانيد كنترل هاي سرور <asp:ControlPlaceHolder> را در خود صفحه اصلي براي زير صفحات قرار دهيد . هنگامي كه كاربر نهايي يكي از زير صفحات را احضار مي كند يك صفحه تكي را خواهد ديد كه از هر دو زير صفحه و صفحه اصلي كه زير صفحه خاصي از آن ارث مي برد ، كامپايل شده است . هم چنين اين موضوع بدين معني است كه كد كلاينت و سرور از هر دو صفحه در صفحه تكي جديد فعال شده است .
نكته جالب درباره صفحات اصلي اين است كه شما هم اكنون محلي براي انجام تغييراتي داريد كه بر كل سايت تاثير مي گذارد ، اين امر اعمال تغييرات بر هر صفحه در برنامه را برطرف مي كند.

تم ها (Themes)
معرفي تم ها در ASP.NET 2.0 به سادگي فراهم كردن يك ظاهر و احساس مستحكم بر كل سايت است. تم ها فايل هاي متني ساده اي هستند كه ظاهر كنترل هاي سرور را تعريف مي كنند و مي توانند بر كل سايت ، بر يك صفحه تكي يا بر كنترل سرور خاصي اعمال شوند. هم چنين به سادگي مي توانيد گرافيك ها و شيوه نامه هاي آبشاري را علاوه بر تعريف كنترل هاي سرور مشاركت دهيد .
يكي از قابليت هاي جالب تم ها اين است كه مي توانيد آنها را بر اساس تنظيمات مورد استفاده سرويس شخصي سازي جديد فراهم شده در ASP.NET 2.0 ، به طور پويا اعمال كنيد . هر كاربر منحصر به فرد برنامه يا پورتابل شما مي تواند ظاهر و احساس شخصي شده خود را داشته باشد كه از آرايه هاي خود تنظيم كرده است.

شخصي سازي :
ASP.NET 2.0 يك ويژگي جالب و برجسته فراهم كرده است : شخصي سازي .اين ويژگي قابليت شخصي سازي ارايه هاي خود است به طوري كه كاربران نهايي بتوانند عملكرد و ظاهر سايت را بسازند. موتور شخصي سازي ASP.NET كه در اين نسخه فراهم شده است ، مي تواند وابستگي خودكاري بين كاربر نهايي بيننده صفحه و هر داده ذخيره شده براي آن كاربر به وجود آورد . خصوصيات شخصي سازي كه بر اساس هر كاربر نگهداري مي شوند ، در سرور ذخيره مي گردند ( نه در كلاينت ) . اين آيتم ها به راحتي در يك حافظه داده منتخب قرار مي گيرند (از قبيل Microsoft SQL Server ) ، بنابراين كاربر نهايي مي تواند به اين خصوصيات شخصي سازي در ملاقات هاي بعدي سايت دستيابي داشته باشد .
اين ويژگي جديد ، روشي ايده آل براي شروع ايجاد سايت هاي خاص كاربر و قابل سفارشي شدن است . ويژگي شخصي سازي جديد روش ديگري است كه گروه ASP.NET زندگي برنامه نويسان را با بهره ور تر ساختن آنها ، راحت تر كرده اند.

قابليت چند زباني (Multi-Language) :
براي رسيدن به بازاري بين المللي در اينترنت ، پشتيباني كردن از زبانهاي متفاوت در برنامه هاي كاربردي ما بسيار پر اهميت است. .NET Framework 2.0 بسيار بهتر از .NET 1.X به يك چارچوب و قالب مشخص تري براي اين منظور دست يافته است. اساساً CLR يك مكانيسم جديدي را براي بسته بندي و توسعه Resource ها در كار با برنامه هاي كاربردي ارائه داده است.
CLR و كتابخانه استاندارد .NET داراي چندين كلاس براي مديريت و دسترسي به Resource ها در برنامه هاي كاربردي مي باشند. اين كلاس ها در فضاي نام System. Resources و System. Globalization قرار گرفته اند.

Localization و فايل هاي Resource ‌‌:
Localization در .NET Framework 2.0 و به ويژه در ASP.NET 2.0 به خوبي پشتيباني مي شود. معمولاً Resource ها براي هر زباني كه برنامه مي خواهد پشتيباني كند به وجود مي آيند. به ويژه هر صفحه وب شما در وب سايتتان براي پشتيباني كردن از چند زبان نياز دارد كه يك Resource مخصوص به خود داشته باشد.
براي مثال اگر شما يك صفحه وب داشته باشيد به نام default.aspx و وب سايت شما سه زبان آلماني و انگليسي و فارسي را پشتيباني مي كند ، آنگاه شما 3 فايل Resource بايد داشته باشيد (براي هر زبان يك فايل Resource ). CLR يك مكانيزم مشخص را براي پيدا كردن Resource مخصوص هر زبان نبال مي كند. به وسيله اين روش هر مجموعه از Resource ها با يك نام كه در قسمت اول آن نام صفحه مي باشد و در قسمت دوم آن نام زبان مربود به آن Resource به صورت مخفف مي باشد. اگر قسمت زبان در اين نام تععين نشود از Resource فايل پيش فرض استفاده مي شود.
براي مثال همان صفحه default.aspx كه داراي 3 زبان بود را در نظر بگيريد ، 3 فايل Resource آن به صورت زير نام گزاري مي شوند:
Default.aspx.en-US.resx
Default.aspx.de-DE.resx
Default.aspx.ar-EG.resx

نحوه ساخت يك صفحه وب چند زبانه :
براي اين منظور از منوي Tools بايد گزينه Generate Local Resources را انتخاب كنيد . سپس Visual Studio يك فايل Resource در پوشه App_localResources ايجاد مي كند كه شامل مقادير براي هر كنترل از صفحه جاري باز در Design View است.
Resource ها هميشه با نام كنترل پيشوند و همچنين با نام Property پسوند مي شوند. Visual Studio اتوماتيك يك Resource پيش فرض براي هر كنترل ايجاد مي كند. شما مي توانيد هر Resource ي را كه مي خواهيد اضافه يا كم كنيد و سپس نام مناسبي به آن بدهيد و همچنين ترجمه آن به زبان مورد نظر را نيز انجام دهيد. به طور پيش فرض Resource ها يك ورودي را براي هر Property ايجاد مي كنند كه با ويژگي [localizable] نشانه دار شده است. بنابراين اگر شما مي خواهيد يك كنترل localizable مخصوص به خود ايجاد كنيد فراموش نكنيد كه آن را با اين ويژگي نشانه دار كنيد.
اما بعد از اضافه كردن فايل Resource به صفحه Visual Studio يك تغييري در Source Code ما ايجاد مي كند و آن اين است كه براي هر كنترل روي صفحه يك عبارت به صورت زير اضافه مي كند:
<asp:label
ID="LegendFirstname"
runat="server"
Text="Firstname:"
meta:resourcekey="LabelResource1">
</asp:label>
به اين عبارت اضافه شده به تگ بالا implicit localization expression مي گويند.

BARAN
کاربر متوسط
کاربر متوسط

تعداد پستها : 35
تاريخ التسجيل : 2009-11-03

بازگشت به بالاي صفحه اذهب الى الأسفل

بازگشت به بالاي صفحه


 
صلاحيات هذا المنتدى:
شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد