پروژه تكنولوژي .NET
پيشگفتار
ما بسوي تغيير ديگري در سكو (Platfrom) پيش مي رويم. درست همانطور كه Dos به Windows تحول پيدا كرد، تكنولوژي .NET نيز تحول ديگراست كه كاربران كامپيوتر لزوم يادگيري آنرا بطور آشكار احساس مي كنند.
دات نت هم يك استراتژي حرفه اي و تجاري براي شركت مايكروسافت است و هم مجموعه اي از برنامه هاي قابل اجرا و پشتيباني است،براي هر آنچه كه بعنوان خدمات وب (Web Services) شناخته مي شوند.
دات نت تلاش ميكند تا در نهايت يك محدوده اجرايي براي تمام زبانها ارائه دهد. تا عمل متقابل (interoperate) به هم پيوسته اي با يك سيستم نوع متداول و كتابخانه كلاس پايه داشته باشند به همراه اين Platform جديد، مايكروسافت يك زبان برنامه نويسي براي بهره گيري از تكنولوژي .NET طراحي و پياده سازي نموده كه C# نام دارد برخي از مطالب و مثالهايي كه در اين مجموعه تحقيقي ارائه شده در مورد اين زبان است.
بر خلافت زبان Visual Basic، مايكروسافت هر دو زبان C# و CLS را به سازمان استانداردهاي ECMA ارائه داده است تا از پذيرش Platfrom و زبان برنامه نويسي C# مطمئن شود. با استفاده از استانداردهاي عمومي بعنوان زير بناي .NET اين شركت اطمينان دارد كه قدرت و ميزان پذيرش اين زبان باعث ميشود كه فراتر از زبانها و سيستمهاي صرفاً تجاري گام بردارد.
اين مجموعه تحقيقي كه بعنوان پايان نامه دانشجويي ارائه شده است. مبتني برهفت بخش است كه شش بخش از آن شامل اطلاعات نسبتاً اجمالي در مورد .NET و به زبان فارسي مي باشد كه عبارتند از:
-.NET Platform
-زبان ميانه (IL)
-زبان عمومي (CLR)
-توسعه فرمهايي ويندوز با Visual Studio.NET
-اساس ASP.NET
-خدمات وب (Web Services)
و بخش آخر اين مجموعه نيز شامل اطلاعات تفصيلي در مورد .NET و به زبان انگليسي مي باشد. در خاتمه لازم مي دانم از كمكها و راهنمايي هاي استاد راهنماي اينجانب، جناب آقاي مهندس سيد مسگري تشكر و سپاسگذاري نمايم.
فرهاد حيدري
زمستان 1381
مقدمه اي درباره NET.
يقيناً، ميكروسافت برجسته ترين تحولات را در صنعت رايانه به وجو آورده است. موفقيت هاي DOS ، حاصل تلاش بي وقفه بيل گيتس و استيوبالمر بود، وقتي آنها به IBM اطلاع دادند كه سيستم عاملي براي فروش دارند حركت قابل توجهي در دنياي رايانه ايجاد شد. ميكروسافت با الهام گرفتن از جذابيت اپل مكينتاش سيستم عاملي ايجاد كرد كه به طور گسترده در جهان مورد استفاده قرار گرفت و تحولي دوباره در دنياي رايانه بوجود آورد.
اكنون، ميكروسافت با ابداع مجدد روشي براي استفاده و برنامه ريزي رايانه ها تحول ديگري در جهان ايجاد كرده است. اگر شما يك برنامه نويس C++ هستيد يا اگر با سيستم عامل ويندوز يا كلاس (رده) خيت بنيادين ميكروسافت (MFC) كار مي كنيد، بدون شك كاملاً تحت تأثير الزامات NET، خواهيد بود.
اخيراً اينترنت به رسانه اي تبديل شده است كه ما از طريق آن ميتوانيم تجارت كنيم، دوستان خود را ملاقات كنيم، حساب جاري خود را انجام دهيم، بازي كنيم، گپ بزنيم و با اشخاصي كه دوست داريم در تماس باشيم . انجام همه كارها از طريق يك نرم افزار نوشته شده، عملي و امكان پذير شده اند تا ارتباطات ضابطه اينترنت (IP) براي وب جهاني برقرار مي شوند. از آن جا كه وب پيشرفت نموده و پيچيده تر شده است نرم افزار لازم است براي اجراي آن نيز بايد ميليون ها داده IP را به رايانه ما انتقال دهد تا از آن دريافت كند. با استفاده از پست الكترونيكي مرور صفحات وب تعامل (فعل و انفعال) با پايگاه دادهع ها و اجراي برنامه هاي كاربردي توزيع شده بسيار پيچيده تر شده است و در نتيجه مهارت ها و تكنيك هاي برنامه نويسي نيز به ايجاد و حفظ نرم افزاري نياز دارد كه پيچيده تر باشد. يك برنامه نويس، اغلب مواقع (و به طور روزانه) با XML , SOAP , ASP , DCOM . CoM+ COM، و XSL و يك آرايه رو به افزايش از SDK هاي كامل و نيز راهنماييهايي در رابطه با آنها مواجه مي گردد.
ميكروسافت، بنابر اصل نيازهاي فناوري جاري همانند بسياري از صنعتكاران به طور روزافزون، برنامه هاي كاربردي، مجموعه ابزارهاي و سيستم هاي عامل و كتابخانه ها قابل حمل نيستند، زيرا بسيار گسترده تر مي باشند و همچنين حاوي افزودني ها، الحاقات (extensions) و توافق ها (compromisers) هستند. چارچوب NET، در اصل آن را تغيير مي دهد. اين تغيير نه نمونه ي است و نه براي تحكيم كار، بلكه اين يك حركت بسيار بزرگ، برجسته و قابل تأمل است كه همه مطالب مربوط به برنامه نويسي رايانه هاي شخصي شما (در هر شكل و اندازه اي) را دوباره تعريف مي كند و شامل خود زبان ها نيز مي باشد.
يكي از مهمترين حقايق موجود در مورد چارچوب NET. (و شايد اين نظر از جهاني درست نباشد) آنست كه اين زبان، همانند جاوا از فناوري ماشين مجازي استفاده نمي كند. نرم افزار قابل اجرا در NET كاملاً كامپايل (همگرداني) مي شود و همانند كد (رمز) كامپايل شده از يك برنامه C در سطح ماشين اجرا خواهد شد. اين تصور غلط رايج از آن ناشي مي شود كه NET از يك زبان ميانه كه گاهي اوقات به عنوان “P – code” تعريف مي شود، استفاده مي كند. NET در واقع روش كامپايل (همگرداني) چند مرحله اي را به كار مي برد. يك كامپايل اوليه به يك فرمت (قالب) ميانه قابل حمل و يك كامپايل درجا (JIT) براي يك برگه نهايي قابل اجرا در زمان اجرا.
اين سيستم (در حالي كه نسبتاً پيچيده است) براي انجمن برنامه نويسي فوايد زيادي دارد. يعني در همه زبان ها داراي يك سطح عمومي هستند كه در شكل ميانه خود آن را به اشتراك مي گذارند. بنابر اين تركيبي از ماجول(پيمانه) هاي نوشته شده در زبان هاي COBOL . FORTRAN , Eiffel , Visual Basic , C# يا هر زباني كه در آينده پشتيباني خواهد شد ميتواند براي زبان ميانه (IL) كامپايل (همگاني) مي شود و همراه با شرح كاملي از خود بسته بندي مي گردد. رابط ها،خصوصيات (Prroperties) روش ها و كلاس (رده) هاي آن (همانند فوق داده ها) براي ساير ماجول (پيمانه) ها با محيط هاي توسعه برنامه كاربردي كه سريعاً مجتمع شده اند (نظير Visual Studio. NET) در دسترس مي باشند.
هنگامي كه زمان اجراي NET براي اجراي يك برنامه تبديل شده به IL استفاده مي شود، NET از يك JITer براي كامپايل (همگرداني) IL به يك كد ماشين اصلي (درتبديل كامل) كه در ريز پردازنده دستگاه اجرا مي شود، استفاده مي كند. JITer ها حتي براي برخي از بخشهاي بي استفاده كامپايل نشده از كد (رمز) ميانه نيز بسيار سريع و مؤثر هستند. بديهي است كه اين فرايند كامپايل وقت گير است، بنابر اين وقتي زمان هاي بارگذاري مهم هستند يا مسأله قابليت حمل ضروي نيست، اين سيستم يك كامپايلر pre – JIT را ارائه مي دهد كه آن رمز مبتني بر IL را به يك قالب پايدار و اصلي تبديل مي كند.
چهارچوب NET چهار زبان اصلي را ارائه مي دهد: C#، ويژوال بيسيك، C++ (همراه با الحاقات اداره شده) و Jscript. شركت هاي ديگري نيز در حال ايجاد چند زبان ديگر هستند. مثلاً شركت فوجيستو، نگارشي از COBOL را ارائه داده است.
مجموعه هاي اصلي از همگردان ها وجود دارند كه زبان هاي تحت NET را مي گيرند و ماجول (پيمانه) هاي زبان هاي ميانه را ايجاد مي كنند. در آنسوي اين مجموعه ها، Jiter هاي IL به رمز ماشين هستند. يك Jiter استاندارد وجود دارد
فهرست مطالب | |
عنوان | صفحه |
پيش گفتار | 1 |
بخش اول: .NET Framework | |
مقدمه اي درباره .NET | 3 |
-زبان ميانه (IL) | 7 |
-مقدمه اي براي مديريت حافظه .NET | 8 |
-سيستم نوع چارچوب .NET | 10 |
موضوعات سيستم چارچوب.NET | 11 |
-چگونه موضوعات، خود را تعريف مي كنند | 11 |
-عمل پذيري متقابل الگوي موضوع مولفه (Com) | 12 |
فرمهاي ويندوز، كنترل هاي وب و GDT+ | 12 |
-ابزارها | 15 |
اسمبليها، سيستم بسته بندي .NET | 15 |
برنامه نويسي با صفات (Attributes) | 16 |
امنيت (Security) | 17 |
بخش دوم: زمان اجراي زبان عمومي (CLR) | |
-مرور كلي | 17 |
-ساده سازي توسعه | 18 |
پشتيباني ابزار | 19 |
پشتيباني زبان چندگانه | 19 |
– آماده سازي آسان تر مي شود. | 20 |
– جداسازي نرم افزار | 21 |
– وارسي و امنيت نوع. | 22 |
– رابطه CLR با NET. | 23 |
– جزئيات CLR | 23 |
– CLR درزمان اجرا | 24 |
– انواع داده هاي پشتيباني شده توسط CLR | 26 |
– كد و داده هاي اداره شده | 29 |
– رمز اداره نشده و دستيابي به داده ها | 30 |
– COM Interop از طريق CLR | 31 |
– الحاقات اداره شده به C++ | 36 |
– پشتيباني از اشكال زدايي | 37 |
– خلاصه | 37 |
-بخش سوم : معرفي Visual Studio . NET | |
– محيط توسعه مجتمع (IDE) | 38 |
– بخش A: ناحيه اصلي ويرايش | 39 |
– بخش B: راه حل ها Help , Items , Classes , (Solutions) | 39 |
– راه حل ها و جستجو گر راه حل | 40 |
– پروژه ها | 41 |
– وابستگي هاي پروژه | 43 |
نماي كلاسي (Class View) | 44 |
نماي منبع (Resource View) | 44 |
جستجوگرماكرو (Macro Explorer) | 45 |
-راهنماي دستي | 45 |
-بخش C: جعبه ابزار و Server Explorer | 47 |
بخشD: تكاليف (Tasks)، خروجي (Output)، نتايج جستجو و مشاهدات | 49 |
بخش E: خصوصيات (Properties) راهنماي پويا (Dynamic Help) و برگزيدگان (Favorites) | 53 |
-برنامههاي اشكال زدايي | 58 |
-الفباي تصويري نقطه توقف | 60 |
تنظيمات نقطه توقف پيشرفته | 61 |
-نقطههاي توقف شرطي | 62 |
-شمارش دفعات (Hit Counts) | 62 |
-هنگام مكث رمز چه بايد كرد؟ | 63 |
-ضميمه شدن اشكال زدا به يك فرآيند | 64 |
-اشكال زدايي JIT | 64 |
بخش چهارم : برنامه كاربردي نمونه فرمهاي ويندوز (Scribble.NET) | 66 |
–منابع در .NET | 66 |
-پيج و مهرههاي محلي سازي | 67 |
-كلاسهاي مديريت منابع .NET | 68 |
-بدست آوردن فرهنگ مورد نظر | 69 |
– ايجاد منابع متني | 70 |
-استفاده از Visual Studio .NET براي بين المللي كردن | 72 |
-منابع تصويري | 73 |
-استفاده از ليستهاي تصويري | 73 |
-دسترسي برنامه اي به منابع | 77 |
-خلاصه | 78 |
بخش پنجم: ASP.NET | |
-وب جديد | 79 |
– اساس ASP.NET | 80 |
-افزودن موارد اصلي | 83 |
-امتحان ايدهها | 85 |
-خلاصه | 89 |
بخش ششم : خدمات وب (Web Services) | |
-تعريف | 89 |
-Echo Server | 91 |
-ايجاد يك Proxy | 93 |
-مشتري فرمهاي ويندوز | 96 |
-برگرداندن نوع هاي تعريف شده توسط كاربر | 99 |
-ايجاد خدمات رسان | 100 |
-ايجاد مقيد سازيClient | 101 |
-صفت هاي XML | 102 |
-خلاصه | 105 |
بخش هفتم: اطلاعات تفصيلي در مورد تكنولوژي .NET به زبان انگليسي | |
فهرست منابع | 106 |
پروژه تكنولوژي .NET