قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  إنترنت/ نظرة عامة على .NET. مفاهيم أساسية

نظرة عامة على .NET. مفاهيم أساسية

بقدر ما. صافي The Framework هو نظام أساسي قوي لتطوير التطبيقات ، فهو يسمح لك بتطوير تطبيقات من أنواع مختلفة تمامًا.

تطبيقات سطح المكتب (التطبيقات التي تعمل على الكمبيوتر المحليالمستعمل)؛

· تطبيقات الويب (التطبيقات التي تعمل داخل خادم الويب والمتاحة للمستخدم من خلال متصفح ضمن بروتوكول HTTP / HTTPS) ؛

· تطبيقات الويب ذات واجهة المستخدم الغنية (التطبيقات التي يتم تسليمها للمستخدم عبر بروتوكول HTTP / HTTPS داخل المتصفح ويتم تنفيذها من جانب العميل) ؛

· خدمات الويب (رمز البرنامج الذي يتم تنفيذه على جانب الخادم ويمكن استدعاؤه من العميل لتلقي أي بيانات أو إجراء عملية) ؛

· تطبيقات الجوال (التطبيقات التي تعمل على الأجهزة المحمولة).

لكل من الأنواع التالية من التطبيقات ، يتم استخدام ملف. صافيالإطار هناك تقنيات ذات صلة تسمح لك بإنشاء تطبيقات. بجانب، . صافييحتوي الإطار على مكتبات عامة يمكن استخدامها عبر أنواع مختلفة من التطبيقات. تتضمن هذه المكتبات مكتبات:

· للعمل مع الأوتار.

· للعمل مع الوظائف الرياضية.

· للعمل مع الرسومات.

· الوصول إلى البيانات.

· العمل مع الملفات وعمليات الإدخال والإخراج الأخرى.

· القيام بعمليات التشفير.

· تنظيم مزامنة البيانات بين مصادر البيانات.

· وعدد هائل من المكتبات الأخرى.

دعنا نلقي نظرة عامة على كل نوع من أنواع التطبيقات. كما هو مذكور أعلاه ، لكل نوع من أنواع التطبيقات في النظام الأساسي. صافيالإطار ، هناك قوالب مشاريع خاصة.

تطبيقات سطح المكتبتختلف في أنها تعمل مباشرة على كمبيوتر المستخدم. هذا هو أكثر أنواع التطبيقات شيوعًا. عادةً ما تحتوي تطبيقات سطح المكتب على ملفات التمكن منإلى موارد كمبيوتر المستخدم ، مثل HDDومعدات الصوت وما إلى ذلك. تشمل مزايا هذا النوع من التطبيقات التفاعلواجهة المستخدم والقدرة على تشغيل التطبيق بغض النظر عن اتصال الشبكة إنترنتوغيرها من الموارد. ومع ذلك ، لكي تعمل هذه التطبيقات ، يجب تثبيتها على المستوى المحلي كمبيوتر.

يمكن تقسيم تطبيقات سطح المكتب إلى ثلاثة أنواع - تطبيقات النوافذ وتطبيقات وحدة التحكم والخدمات شبابيك... تطبيقات Windowed لها واجهة رسومية... عادة ما تأخذ تطبيقات وحدة التحكم شكل سطر أوامر ، و واجهه المستخدمهذه التطبيقات تعتمد على النصوص وليست رسومية. أخيرًا ، الخدمات شبابيكليس لديك واجهة مستخدم على الإطلاق ، ولكن تعمل في الخلفية.

لإنشاء تطبيقات واجهة المستخدم الرسومية ذات النوافذ داخل النظام الأساسي. صافييمكن استخدام تقنيات الإطار شبابيكالنماذج (متوفرة بدءًا من. صافيإطار 1.0) و مؤسسة Windows Presentation(متاح من. صافيالإطار 3.0). أحدث التقنيات أحدث وأكثر واعدة.


تطبيقات الويبتختلف عن سطح المكتب في أنها تعمل عن بعد على خادم ويب. مستخدميستفيد من قوة تطبيقات الويب من خلال متصفح وبروتوكول HTTP/ HTTPS. ميزة هذا النوع من التطبيقات هي أنه ليست هناك حاجة لتثبيتها عليها كمبيوتركل مستخدم - تطبيقيحتاج إلى التثبيت على الويب الخادم، وبعد ذلك يصبح متاحًا لجميع المستخدمين. ومع ذلك ، فإن عيب هذه التطبيقات هو القدرة المحدودة على بناء واجهات المستخدم. هذا بسبب الحقيقة بأن واجهة المستخدممبني على أساس التنسيقات لغة البرمجة, CSSوجافا سكريبت ، وهي محدودة للغاية. لذلك ، عادة ما تكون وظيفة واجهات المستخدم محدودة للغاية.

نظرًا لأن تطبيقات الويب بها عيب خطير - إمكانيات محدودة تشغيلتشكيل واجهة المستخدم - ظهر نوع جديد من التطبيقات يسمى تطبيقات الإنترنت الغنيةأو تطبيقات الإنترنت الغنية (RIA)... أيديولوجية هذه التطبيقات هي أن في المتصفحدمج خاص إضافة(plugin) القادر على عرض ملفات نوع المحتوى... بعد ذلك متى المستعمليفتح الصفحة في المتصفح ، وينتقل رمز البرنامج إلى جانب العميل ، والذي يعمل في إطار هذه الوظيفة الإضافية. نظرًا لأنه في هذه الحالة تتم معالجة جميع التعليمات البرمجية من جانب العميل ، فإن المطورين لديهم المزيد من الفرص. تشغيلتشكيل واجهات المستخدم.

توجد العديد من التقنيات لبناء هذا النوع من التطبيقات. إحدى أفضل التقنيات المعروفة هي تقنية Adobe فلاش... بالإضافة إلى ذلك ، هناك التكنولوجيا مايكروسوفت سيلفرلايت، والذي يسمح لك بالاندماج بشكل ملائم مع بقية التقنيات في إطار العمل. صافيإطار العمل.

نوع آخر من التطبيقات خدمات(أو خدمات الويب). الخدمات هي نوع من رمز البرنامج الموجود على الخادم ويتم تشغيله تشغيلطلب من المستخدم. على سبيل المثال ، يمكنك إنشاء مجموعة من الخدمات تشغيلالعمل مع البيانات من قاعدة البياناتالمخزنة على الخادم. عادةً ما تقوم أنواع أخرى من التطبيقات (تطبيقات سطح المكتب وتطبيقات الويب وما إلى ذلك) بالوصول إلى الخدمات من أجل إجراء عملية على الخادم أو تلقي البيانات من الخادم.

داخل المنصة. صافيالإطار ، هناك عدد من التقنيات التي تسمح لك بإنشاء الخدمات. عظم التكنولوجيا القديمةهو ASP.شبكة الويبخدمات. يسمح لك بإنشاء خدمات ويب بسيطة تعمل تشغيلبروتوكول HTTP/ HTTPS. مزيد من التطويرأصبحت التكنولوجيا مؤسسة اتصالات Windows(WCF). هذه المنصة هي الأداة الأقوى والأكثر مرونة التي تدعم أنواع مختلفة من القنوات ( HTTP, TCP، والأنابيب المسماة ، وما إلى ذلك) ويوسع بشكل كبير من قدرات المطور تشغيلخلق الخدمات.

هناك أيضًا فروع إضافية لمشروع WCF - هذا هو WCF خلاصاتالامتدادات (WCF REST) ​​و ADO.بيانات NETخدمات. تم تصميم هذه المشاريع لتسهيل إنشاء خدمات الوصول إلى البيانات.

أخيرًا ، آخر نوع من التطبيقات هو تطبيقات الهاتف الجوال... تعمل تطبيقات الهاتف المحمول داخل الأجهزة المحمولة بناءً على نظام التشغيل ويندوز موبايل... بالنسبة للأجهزة المحمولة ، يوجد أيضًا تنفيذ لمجموعة فرعية من الإمكانات. صافييسمى الإطار. NET Compactإطار العمل.

وبالتالي ، فإن النطاق الكامل للتقنيات داخل المنصة. صافييمكن تمثيل الإطار من خلال الرسم البياني التالي.

مقدمة

المنصة هي على الأقل بيئة تنفيذ برنامج و ... شيء آخر يحدد خصائص التطوير والتنفيذ كود البرنامج- نماذج البرمجة ولغات البرمجة ومجموعات الفئات الأساسية.

Microsoft .NET (.NET Framework) عبارة عن منصة برمجية. يحتوي على المكونات الرئيسية التالية: وقت تشغيل اللغة العامة (CLR) ومكتبة فئة .NET Framework (.NET FCL).

CLS (مواصفات اللغة العامة) هي مواصفات عامة للغات البرمجة. إنها مجموعة من التركيبات والقيود التي توجه كتّاب المكتبات والمترجمين في .NET Framework. يمكن استخدام المكتبات التي تم إنشاؤها وفقًا لـ CLS من أي لغة برمجة تدعم CLS. اللغات المتوافقة مع CLS (تشمل Visual C # ، البصرية الأساسية، Visual C ++) يمكن أن تتكامل مع بعضها البعض. CLS هو الأساس للاتصال عبر اللغات داخل منصة Microsoft .NET.

CLR (وقت تشغيل اللغة العامة) - بيئة وقت التشغيل أو الجهاز الظاهري. يوفر تنفيذ البناء. المكون الأساسي لـ .NET Framework. تحت آلة افتراضيةفهم تجريد نظام التشغيل المُدار عالي المستوى المغلف (المنفصل) ، والذي يضمن تنفيذ كود البرنامج ويتضمن حل المهام التالية:

§ إدارة الكود (التحميل والتنفيذ) ،

§ إدارة الذاكرة عند وضع الأشياء ،

§ عزل ذاكرة التطبيق,

§ التحقق من أمان الكود ،

§ تحويل اللغة الوسيطة إلى كود الآلة ،

§ الوصول إلى البيانات الوصفية (معلومات موسعة حول الأنواع) ،

§ معالجة الاستثناءات ، بما في ذلك الاستثناءات عبر اللغات ،

§ التفاعل بين الكود المُدار وغير المُدار (بما في ذلك كائنات COM) ،

§ دعم خدمات التطوير (التنميط ، التصحيح ، إلخ).

باختصار ، CLR عبارة عن مجموعة من الخدمات المطلوبة لأداء بناء. في هذه الحالة ، يمكن إدارة رمز البرنامج الخاص بالتجميع (الرمز ، عند تنفيذه ، يقوم CLR ، على وجه الخصوص ، بتنشيط نظام إدارة الذاكرة) ، أو غير مُدار (رمز البرنامج "القديم").

يتكون CLR نفسه من مكونين رئيسيين: kernel (mscoree.dll) ومكتبة الفئة الأساسية (mscorlib.dll). يعد وجود هذه الملفات على القرص علامة أكيدة على أن الكمبيوتر على الأقل قد حاول تثبيت .NET framework.

يتم تنفيذ kernel وقت التشغيل كمكتبة mscoree.dll. عند ربط تجميع ، يتم تضمين معلومات خاصة فيه ، والتي ، عند بدء تشغيل التطبيق (EXE) أو عند تحميل المكتبة (استدعاء DLL من وحدة نمطية غير مُدارة - استدعاء وظيفة LoadLibrary لتحميل تجميع مُدار) ، يؤدي إلى تحميل وتهيئة CLR. بعد تحميل CLR في مساحة عنوان العملية ، يقوم نواة وقت التشغيل بما يلي:

§ يجد مكان التجمع ،

§ تحميل التجميع في الذاكرة ،

§ يحلل محتويات التجميع (يحدد الفئات ، الهياكل ، الواجهات) ،

§ يحلل البيانات الوصفية ،

يوفر تجميعًا لرمز اللغة المتوسطة (IL) في تعليمات خاصة بالمنصة (رمز التجميع) ،

§ يقوم بإجراء الفحوصات المتعلقة بالأمن ،

§ باستخدام الخيط الرئيسي للتطبيق ، ينقل التحكم إلى جزء كود التجميع المحول إلى أوامر المعالج.

FCL (.NET Framework Class Library) عبارة عن مكتبة كائنية متوافقة مع CLS من الفئات والواجهات وأنظمة الكتابة (أنواع القيم) المضمنة في نظام Microsoft .NET الأساسي.

توفر هذه المكتبة الوصول إلى وظائف النظام والمقصود منها أن تكون أساسًا لتطوير تطبيقات .NET والمكونات وعناصر التحكم.

مكتبة فئة NET هي مكون CLR الثاني.

يمكن استخدام NET FCL بواسطة جميع تطبيقات .NET ، بغض النظر عن الغرض ، العمارة المستخدمة في تطوير لغة البرمجة. على وجه الخصوص ، يحتوي على:

§ الأنواع المضمنة (الابتدائية) ممثلة بفئات (في النظام الأساسي .NET ، كل شيء مبني على الهياكل أو الفئات) ،

§ فئات لتطوير واجهة مستخدم رسومية (نموذج Windows) ،

§ فئات لتطوير تطبيقات الويب وخدمات الويب القائمة على تقنية ASP.NET (نماذج الويب) ،

§ فئات لتطوير XML وبروتوكولات الإنترنت (FTP ، HTTP ، SMTP ، SOAP) ،

§ فئات لتطوير التطبيقات التي تعمل مع قواعد البيانات (ADO.NET) ،

§ وأكثر بكثير.

NET هو تطبيق مصمم للتشغيل على منصة Microsoft .NET. يتم تنفيذه في لغات البرمجة المقابلة لـ CLS.

MSIL (لغة Microsoft الوسيطة ، والمعروفة أيضًا باسم IL - Intermedia Language) هي لغة وسيطة لمنصة Microsoft.NET. تمت كتابة الأكواد المصدرية للبرامج الخاصة بتطبيقات .NET بلغات البرمجة التي تتوافق مع مواصفات CLS. بالنسبة إلى لغات البرمجة المتوافقة مع مواصفات CLS ، يمكن إنشاء محول إلى MSIL. وبالتالي ، يمكن ترجمة البرامج بهذه اللغات إلى كود وسيط في MSIL. نظرًا لتوافق CLS ، كنتيجة لترجمة كود البرنامج المكتوب بلغات مختلفة ، تكون النتيجة كود IL متوافق.

في الواقع ، MSIL هو مجمع معالج افتراضي.

البيانات الوصفية - عند تحويل رمز البرنامج إلى MSIL ، يتم أيضًا تكوين كتلة METADATA تحتوي على معلومات حول البيانات المستخدمة في البرنامج. في الواقع ، هذه مجموعات من الجداول تحتوي على معلومات حول أنواع البيانات المحددة في وحدة نمطية ، حول أنواع البيانات التي تشير إليها هذه الوحدة. في السابق ، تم تخزين هذه المعلومات بشكل منفصل. على سبيل المثال ، قد يتضمن التطبيق معلومات الواجهة التي تم وصفها في لغة تعريف الواجهة (IDL). أصبحت البيانات الوصفية الآن جزءًا من الوحدة النمطية المُدارة.

على وجه الخصوص ، يتم استخدام البيانات الوصفية من أجل:

§ حفظ المعلومات عن الأنواع. لم تعد ملفات الرأس والمكتبة مطلوبة أثناء التجميع. يقرأ المترجم جميع المعلومات الضرورية مباشرة من الوحدات المدارة ،

§ التحقق من الكود أثناء تنفيذ الوحدة ،

§ إدارة الذاكرة الديناميكية (تحرير الذاكرة) أثناء تنفيذ الوحدة ،

§ عند تطوير برنامج باستخدام الأدوات القياسية (Microsoft Visual Studio.NET)

§ يوفر موجه ديناميكي (IntelliSense) استنادًا إلى البيانات الوصفية.

اللغات التي يتم تنفيذ الترجمة من أجلها إلى MSIL:

والعديد من اللغات.

وحدة قابلة للتنفيذ - بغض النظر عن المترجم (ولغة الإدخال) ، فإن ترجمة تطبيق .NET هي وحدة نمطية قابلة للتنفيذ مُدارة (وحدة مُدارة). إنه ملف Windows Portable قابل للتنفيذ (PE) قياسي.

يتم عرض عناصر الوحدة المدارة في الجدول.

وحدة مُدارة تحتوي على كود مُدار.

الكود المُدار هو رمز يتم تشغيله في CLR. تم بناء الكود على أساس الهياكل والفئات المعلنة في الوحدة المصدر ، والتي تحتوي على تعريفات الطريقة. يجب أن تحتوي التعليمات البرمجية المُدارة على مستوى معين من المعلومات (البيانات الوصفية) لوقت التشغيل. تتم إدارة التعليمات البرمجية لـ C # و Visual Basic و JScript افتراضيًا. لا تتم إدارة التعليمات البرمجية لـ Visual C ++ بشكل افتراضي ، ولكن يمكن للمترجم إنشاء تعليمات برمجية مُدارة عن طريق تحديد وسيطة في سطر الأوامر (/ clr). تتمثل إحدى ميزات التعليمات البرمجية المُدارة في توفر الآليات التي تتيح لك العمل مع البيانات المُدارة.

البيانات المُدارة هي كائنات يتم تخصيصها ، أثناء تنفيذ رمز الوحدة النمطية ، في الذاكرة المُدارة (في الكومة المُدارة) ويتم تدميرها بواسطة مُجمع القمامة CLR. تتم إدارة بيانات C # و Visual Basic و JScript .NET افتراضيًا. يمكن أيضًا وضع علامة على بيانات C # على أنها غير مُدارة.

التجميع هو اللبنة الأساسية لتطبيق ما في .NET Framework. يتم دمج الوحدات المدارة في التجميعات. التجميع هو تجميع منطقي لواحد أو أكثر من الوحدات النمطية المُدارة أو ملفات الموارد. تعمل الوحدات النمطية المُدارة في التجميعات في بيئة وقت التشغيل (CLR). يمكن أن يكون التجميع إما تطبيقًا قابلاً للتنفيذ (في هذه الحالة يكون موجودًا في ملف بملحق .EXE) ، أو وحدة مكتبة (في ملف بامتداد .DLL). في الوقت نفسه ، لا علاقة للتجميع بالتطبيقات القابلة للتنفيذ والوحدات النمطية للمكتبة العادية (الطراز القديم!).

إعلان الجمعية (مانيفست) - مكونالجمعية العامة. مجموعة أخرى من جداول البيانات الوصفية:

§ يحدد التجميع في شكل اسم نص ونسخته وثقافته وتوقيعه الرقمي (إذا كان التجميع مشتركًا بين التطبيقات) ،

§ تحدد الملفات المضمنة في التكوين (بالاسم والتجزئة) ،

§ يشير إلى الأنواع والموارد الموجودة في التجميع ، بما في ذلك وصف تلك التي تم تصديرها من التجميع ،

§ يسرد التبعيات على التجميعات الأخرى ،

§ يشير إلى مجموعة الحقوق المطلوبة للتجميع للعمل بشكل صحيح.

يتم استخدام هذه المعلومات في وقت التشغيل لدعم التشغيل الصحيح للتطبيق.

لا يستطيع المعالج تنفيذ كود IL. ويتم تنفيذ ترجمة كود IL بواسطة مترجم JIT (في الوقت المناسب - في الوقت المناسب) ، والذي يتم تنشيطه بواسطة CLR حسب الحاجة ويتم تنفيذه بواسطة المعالج. في هذه الحالة ، يتم حفظ نتائج مترجم JIT في ذاكرة الوصول العشوائي. يتم إنشاء تطابق بين جزء كود IL المترجم وكتلة الذاكرة المقابلة ، مما يسمح أيضًا لـ CLR بنقل التحكم إلى تعليمات المعالج المكتوبة في كتلة الذاكرة هذه ، متجاوزًا المكالمات المتكررة إلى مترجم JIT.

يسمح CLR بالتعاون والتفاعل بين مكونات البرامج المنفذة بلغات البرمجة المختلفة.

استنادًا إلى كتلة البيانات الوصفية التي تم إنشاؤها مسبقًا ، توفر CLR إمكانية التشغيل التفاعلي الفعال لتطبيقات .NET القابلة للتنفيذ.

بالنسبة لـ CLR ، جميع التجميعات هي نفسها ، بغض النظر عن لغات البرمجة التي تمت كتابتها بها. الشيء الرئيسي هو أنهم يمتثلون لـ CLS. في الواقع ، يكسر CLR حدود لغات البرمجة (إمكانية التشغيل البيني عبر اللغات). وبالتالي ، بفضل CLS و CTS ، أصبحت تطبيقات .NET في الواقع تطبيقات MSIL (IL).

يحل CLR العديد من المشاكل التي كانت تقليديًا محور تركيز مطوري التطبيقات. تشمل الوظائف التي يؤديها CLR ما يلي:

§ التحقق والتجميع الديناميكي (JIT) لرمز MSIL في تعليمات المعالج ،

§ إدارة الذاكرة والعمليات والخيوط ،

§ تنظيم تفاعل العمليات ،

§ حل المشكلات الأمنية (في إطار السياسة الأمنية الموجودة في النظام).

AppDomain عبارة عن حاوية تجميع منطقية تُستخدم لعزل تطبيق داخل مساحة العنوان الخاصة بالعملية. يتم إنشاء جميع الكائنات التي تم إنشاؤها بواسطة تطبيق داخل مجال تطبيق معين. يمكن أن توجد مجالات تطبيق متعددة في نفس عملية نظام التشغيل. تعزل CLR التطبيقات عن طريق إدارة الذاكرة داخل مجال التطبيق.

الكود الذي يتم تشغيله في CLR (عملية CLR) منفصل عن العمليات الأخرى التي تعمل على الكمبيوتر في نفس الوقت.

يبدأ النظام عملية عادية ضمن مساحة عنوان مخصصة لهذه العملية. يوفر CLR القدرة على تشغيل العديد من التطبيقات المدارة في عملية واحدة. يرتبط كل تطبيق مُدار بمجال التطبيق الخاص به (اختصار AppDomain). بالإضافة إلى المجال الرئيسي ، يمكن إنشاء عدة مجالات إضافية في التطبيق.

يظهر هيكل وقت تشغيل CLR في الصورة.

خصائص المجال:

§ المجالات معزولة عن بعضها البعض. الكائنات التي تم إنشاؤها داخل مجال واحد غير متوفرة من مجال آخر ،

CLR قادر على تفريغ المجالات مع كل التجميعات المرتبطة بهذه المجالات ،

§ إمكانية تكوين وحماية إضافية للمجالات ،

§ يتم تنفيذ آلية خاصة لتبادل البيانات بين المجالات وصول آمن(تنظيم).

طور B.NET Framework نموذج المكون الخاص به ، وعناصره عبارة عن تجميعات .NET (تجميع .NET) ، وللتوافق المباشر والخلفي مع نموذج COM / COM + ، يحتوي CLR على آليات مضمنة (COM Interop) التي توفر الوصول إلى كائنات COM بواسطة قواعد .NET والتجميعات .NET بواسطة قواعد COM. في الوقت نفسه ، بالنسبة لتطبيقات .NET ، يتم تسجيل المكونات بتنسيق سجل النظامشبابيك.

لتشغيل تطبيق .NET ، يكفي وضع التجميعات المتعلقة بهذا التطبيق في نفس الدليل. إذا كان من الممكن استخدام التجميع في العديد من التطبيقات في نفس الوقت ، فسيتم وضعه وتسجيله باستخدام فائدة خاصةفي GAC (ذاكرة التخزين المؤقت للتجميع العالمي).

CTS - نظام النوع المشترك النظام القياسيأنواع. مدعوم من قبل جميع لغات النظام الأساسي. نظرًا لحقيقة أن .NET هي تابعة لـ OOP ، فإننا نتحدث هنا عن الأنواع الأولية والفئات والهياكل والواجهات والمفوضين والتعداد.

يعد نظام النوع المشترك جزءًا مهمًا من وقت التشغيل ، فهو يحدد بنية بناء الجملة ، وكيفية الإعلان عن الأنواع الشائعة لوقت التشغيل واستخدامها وتطبيقها. يحتوي CTS على معلومات أساسية حول نظام الأنواع العامة المحددة مسبقًا ، حول استخدامها وإدارتها (قواعد تحويل القيم). تلعب CTS دورًا مهمًا في تكامل التطبيقات المُدارة متعددة اللغات.

مساحة الاسم هي طريقة لتنظيم نظام الكتابة في مجموعة واحدة. توجد مكتبة عامة مشتركة لفئات القاعدة اللغوية. ويضمن مفهوم مساحة الاسم التنظيم والتنقل الفعال في هذه المكتبة. بغض النظر عن لغة البرمجة ، يتم توفير الوصول إلى فئات معينة من خلال تجميعها في مساحات الأسماء الشائعة.

مساحة الاسم ميعاد
نظام
بيانات النظام للوصول إلى قواعد البيانات
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
System.Collections فصول للعمل مع كائنات الحاوية
نظام التشخيص فئات لتتبع وتصحيح الكود
نظام الرسم فصول دعم الرسومات
System.Drawing.Drawing2D
System.Drawing.Printing
System.IO دعم الإدخال / الإخراج
System.Net دعم نقل البيانات عبر الشبكات
النظام. التفكير العمل مع الأنواع المخصصة في وقت التشغيل
النظام ، التفكير
System.Runtime.InteropServices دعم للتفاعل مع "الكود العادي" - DLLs ، خوادم COM ، الوصول عن بعد
System.Runtime. عن بعد
أمن النظام التشفير والأذونات
النظام العمل مع تيارات
النظام العمل مع تطبيقات الويب
System.Windows.Form العمل مع العناصر واجهة Windows
System.XML دعم بيانات XML

تنفيذ الملفات التنفيذية غير المُدارة (شائع تطبيقات الويندوز) يتم توفيره مباشرة بواسطة Windows. تعمل الوحدات النمطية غير المُدارة في بيئة Windows كعمليات "بسيطة". الشرط الوحيد الذي يجب أن تفي به هذه الوحدات هو التشغيل الصحيح في بيئة Windows. يجب أن تعمل "بشكل صحيح" (لا تعطل النظام ، وتمنع تسرب الذاكرة ، ولا تمنع العمليات الأخرى ، وتستخدم بشكل صحيح وسائل نظام التشغيل نفسه للعمل نيابة عن العمليات). أي للامتثال للقواعد العامة للعمل تحت Windows.

في الوقت نفسه ، فإن معظم مشاكل التنفيذ الصحيح لوحدة نمطية غير مُدارة (مشاكل التفاعل وتخصيص الذاكرة وتحريرها) هي مشاكل مطوري التطبيقات. على سبيل المثال ، تعد تقنية COM المعروفة طريقة لتنظيم تفاعل المكونات المتباينة داخل التطبيق.

الكائن - بالمعنى الواسع ، هو مساحة من الذاكرة (مكدس أو كومة) ، يتم تخصيصها أثناء تنفيذ البرنامج لكتابة أي قيم. يتميز بنوع (مجموعة ثابتة من الخصائص التي تحدد حجم المنطقة المشغولة ، طريقة لتفسير قيمة ، نطاق من القيم ، مجموعة من الإجراءات المسموح بها عند معالجة كائن) موقع في الذاكرة (عنوان ).

جمع البيانات المهملة هي آلية تسمح لـ CLR بتحديد متى يصبح الكائن غير متاح في الذاكرة التي يديرها البرنامج. جمع البيانات المهملة يحرر الذاكرة المدارة. بالنسبة لمطور التطبيق ، فإن وجود آلية لجمع البيانات المهملة يعني أنه لم يعد مضطرًا للقلق بشأن تحرير الذاكرة. ومع ذلك ، قد يتطلب هذا تغييرًا في أسلوب البرمجة ، على سبيل المثال ، إيلاء اهتمام خاص لإجراء تحرير موارد النظام. من الضروري تنفيذ طرق إلغاء التخصيص موارد النظاميديرها التطبيق.

المكدس عبارة عن منطقة ذاكرة منظمة بشكل خاص مخصصة للتخزين المؤقت لقيم الكائن (المتغيرات والثوابت) ، لتمرير المعلمات عند استدعاء الطرق ، لتخزين عنوان الإرجاع. تعد إدارة المكدس أمرًا سهلاً إلى حد ما مقارنةً بالكومة. يعتمد على تغيير قيمة السجل المقابل في الجزء العلوي من المكدس. عندما يتم تقليل حجم المكدس ، يتم فقد الكائنات ببساطة.

برنامج C #

البرنامج عبارة عن سلسلة من العبارات جيدة التكوين (لا يرفضها مترجم C #) ، والتي على أساسها يتم تشكيل التجميع.

بشكل عام ، يقوم المبرمج بإنشاء ملف يحتوي على تعريفات الفئة ، والتي يتم تغذيتها إلى المترجم. يتم تمثيل نتيجة التجميع من قبل المترجم كمجموعة ويتم تحديدها من خلال تفضيلات المبرمج. من حيث المبدأ ، يمكن أن يكون التجميع من نوعين:

ملف قابل للتنفيذ محمول (ملف PE بملحق. exe) ، مناسب للتنفيذ المباشر لـ CLR ،

§ ملف مكتبة الارتباط الديناميكي (ملف DLL بامتداد dll) ، المخصص لإعادة استخدامه كمكون لأي تطبيق.

في أي حال ، بناءً على كود الإدخال ، يقوم المترجم ببناء وحدة IL ، وبيان ، ويشكل تجميعًا. في المستقبل ، يمكن إجراء التجميع بعد تجميع JIT ، أو يمكن استخدامه كجزء من برامج أخرى.

حاشية. ملاحظة: مبادرة Microsoft .NET. مشكلات توافق المكونات والموثوقية وقابلية إعادة الاستخدام. .الإطار الصافي. وقت تشغيل اللغة العامة CLR. لغة الآلة الزائفة CIL (مدفوعة بالمجمع). مترجم JIT. لغات البرمجة. الجمعيات. البيانات الوصفية. جامع القمامة. مكتبة فئة .NET Framework

مشاكل تطوير نظم المعلومات الحديثة

مشاكل الاندماج

  • وحدات مكتوبة بلغات مختلفة ، باستخدام واجهات برمجة تطبيقات مختلفة (أو إصدارات API) ، أو شكل مختلفعرض البيانات؛
  • البرامج التي تم تطويرها لمنصات مختلفة ضمن حزمة برامج واحدة ؛
  • أنظمة تستخدم نماذج برمجية مختلفة.

مشاكل التكامل مع التعليمات البرمجية القديمة شائعة بشكل خاص. عند حل مشكلات التكامل ، تظهر مشكلات عدم التوافق.

قضايا قابلية

بشكل متزايد ، هناك حاجة للبرامج لدعم أنظمة أساسية متعددة (على سبيل المثال ، القدرة على العمل مع برنامج على نظامي التشغيل Windows و Mac OS).

قضايا الإصدار

يدرك مطورو Windows مشكلة توافق الإصدار المعروفة باسم DLL hell. يحدث هذا "الجحيم" عندما تحل المكونات المثبتة للتطبيق الجديد محل مكونات التطبيق القديم. نتيجة لذلك ، يبدأ التطبيق القديم في العمل بشكل غير صحيح أو يتوقف عن العمل.

إدارة الموارد

تتمثل إحدى مشكلات البرمجة في الإدارة والإصدار الصحيح للموارد والملفات والذاكرة ومساحة الشاشة ، اتصالات الشبكة، وموارد قاعدة البيانات ، وما إلى ذلك. الإدارة غير الصحيحة لهذه الموارد يمكن أن تؤدي إلى تنفيذ البرنامج بشكل غير صحيح.

اكتب الأمان

عندما يذكرون مشكلة أمان النوع ، فإنهم يعنون معالجة غير صحيحة لأنواع البيانات: محاولات الوصول إلى مناطق الذاكرة خارج حدود النوع ، أو محاولات استدعاء الطرق غير الموجودة في النوع ، أو محاولة استدعاء طريقة تأخذ النوع A على أنه معلمة وتمريرها ككائن معلمة من النوع ب.

التعامل مع الأعطال

عند تطوير تطبيقات Windows باستخدام Win32 API ، تقوم بعض الوظائف بإرجاع استثناءات ، بينما يقوم البعض الآخر بإرجاع رموز الحالة ، بينما يقوم البعض الآخر بإرجاع HRESULTs. وبالتالي ، لا توجد آلية متسقة للتعامل مع حالات الفشل ومن الممكن تجاهل بعض الاستثناءات ، مما يجعل الكود غير آمن.

هذه وغيرها من مشاكل التنمية نظم المعلوماتيساعد في حل نظام Microsoft .NET الأساسي.

حل مشاكل تطوير نظم المعلومات في .NET

تتمثل إحدى طرق معالجة مشكلة عدم التجانس في تطوير وصيانة واجهات برمجة التطبيقات القياسية التي تسهل نقل التطبيقات إلى الخوادم على أنظمة أساسية متعددة. ومع ذلك ، يمكن للتطبيقات استخدام قواعد البيانات والاتصالات والخدمات الأخرى ، والتي لا تعتبر واجهاتها مكونات اللغة أو بيئة البرمجة. هناك أسلوب آخر يستخدمه المصنعون لحل مشكلة عدم التجانس وهو دعم البروتوكولات القياسية. يمكن للأنظمة التي تدعم نفس البروتوكول التواصل مع بعضها البعض حتى لو كانت تعتمد على بنى آلة مختلفة و نظام التشغيل.

تقنية. NET هي طريقة لتطوير البرامج ونشرها ، باستخدام معايير مستخدمة على نطاق واسع مثل HTTP و XML ، تمكن البرامج من الاتصال وتوفر الوصول إلى العديد من خدمات البرامج عبر الإنترنت. تشمل التكنولوجيا. NET Framework - منصة لتطوير وتنفيذ التطبيقات التي تبسط التطوير وتسريعها ، وتدعم كائنًا كامل التوجه برمجةللويب ، يصلح العديد من أنواع أخطاء البرمجة الشائعة ، ويوفر واجهة برمجة تطبيقات مشتركة لجميع اللغات.

ما الذي يجعل Microsoft .NET

NET Framework هو إطار عمل لتطوير التطبيقات. مكوناته الرئيسية هي Common Language Runtime ومكتبة الفصل. مكتبة فئة NET Framework.

وقت تشغيل اللغة العامة

إن وقت تشغيل اللغة العامة (CLR) هو وقت تشغيل لغة شائع يلخص خدمات نظام التشغيل وينفذ التطبيقات المدارة ، وأي إجراء يجب أن يأذن به CLR.

يتم تحويل كافة التعليمات البرمجية الخاصة بإطار عمل .NET بواسطة CLR إلى كود CIL الوسيط. لذلك ، يمكن للمطورين بسهولة دمج التعليمات البرمجية المكتوبة لـ .NET في لغات البرمجة المختلفة. أي شيء يمكن القيام به بلغة واحدة متوافقة مع .NET (مع استثناءات نادرة) يمكن القيام به بأي لغة أخرى. يتم تجميع الكود في هذه اللغات في الكود بلغة واحدة - لغة CIL.

يقع CLR أعلى نظام التشغيل ويوفر بيئة افتراضية للتطبيقات المدارة. يتم تنفيذ التعليمات البرمجية الخاصة بـ .NET Framework بواسطة CLR أو منحها إذنًا للتنفيذ خارجها.

رمز CLR هو أوامر لغة الآلة الزائفة العامة (CIL). يتم تجميع هذه التعليمات في كود الآلة لنوع المعالج المناسب ، عند الطلب (في الوقت المناسب) في وقت التشغيل. عادة ، يتم تجميع طريقة مرة واحدة أثناء استدعائها الأول. ثم يتم تخزين النتيجة مؤقتًا في الذاكرة لتجنب تأخير إعادة المحاولة. يقوم مترجم JIT بتحسين التعليمات البرمجية خصيصًا للمعالج الذي يتم تنفيذ التعليمات البرمجية عليه.

بتحويل تعليمات CIL إلى تعليمات المعالج ، يتحقق مترجم JIT من الكود الخاص بسلامة النوع.

يكاد يكون من المستحيل تنفيذ أمر يصل إلى منطقة من الذاكرة لا يملك الأمر إذنًا للوصول إليها. في تطبيق مُدار ، يتم التخلص من مشكلة المؤشرات التي تمت تهيئتها بشكل خاطئ ، ولا يُسمح بتحويل نوع إلى شيء غير موجود ، لأن هذا يعد انتهاكًا للسلامة. لا يسمح CLR باستدعاء طرق ذات إطار مكدس مدمر.

يتم استعادة الموارد المخصصة بواسطة التعليمات البرمجية المُدارة بواسطة جامع البيانات المهملة. بمعنى آخر ، يخصص المبرمج الذاكرة فقط ، لكنه لا يحررها - يتم ذلك بواسطة CLR. يقوم جامع القمامة بتتبع جميع مراجع الكائنات التي أنشأها البرنامج ويدمر هذه الكائنات عندما تكون الذاكرة التي يشغلونها مطلوبة في مكان آخر. هذا يحل مشكلة تسرب الذاكرة في تطبيقات التعليمات البرمجية المدارة.

يعد التحقق من الرمز أساسيًا أيضًا لقدرة CLR على تشغيل تطبيقات متعددة في عملية واحدة. تنقسم العملية إلى مقصورات افتراضية - مجالات التطبيق. هذا يزيد من كفاءة استخدام الذاكرة المخصصة للعمليات. نطاقات التطبيقات آمنة تمامًا مثل العمليات لأنه لا يمكن انتهاك حدودها بواسطة التطبيقات المُدارة.

مكتبة فئة .NET Framework (FCL)

يتم تضمين تجميعات مكتبة فئة NET. تحتوي مكتبة فئة NET Framework Class (FCL) على تعريفات لعدة آلاف من الأنواع ، يوفر كل منها بعض الوظائف. يتم جمع مجموعات من الأنواع "ذات الصلة" في مساحات أسماء منفصلة. على سبيل المثال ، تحتوي مساحة اسم النظام على كائن الفئة الأساسية الذي تشتق منه جميع الأنواع الأخرى في النهاية.

وهكذا ، فإن كل كيان في. NET هو كائن له مجالاته وطرقه الخاصة.

بالإضافة إلى ذلك ، يحتوي النظام على أنواع للأعداد الصحيحة ، والأحرف ، والسلاسل ، ومعالجة الاستثناءات ، ووحدة التحكم I / O ، ومجموعة من الأنواع لتحويل نوع إلى آخر بأمان ، وتنسيق البيانات ، توليد أرقام عشوائيةوأداء العمليات الحسابية. تستخدم جميع التطبيقات أنواعًا من مساحة اسم النظام.

يمكنك إنشاء نوع مشتق خاص بك لتعديل نوع FCL موجود. يمكنك إنشاء مساحات الأسماء الخاصة بك. كل هذا سيتوافق بوضوح مع المبادئ التي اقترحتها المنصة. صافي

فيما يلي بعض مساحات الأسماء الأكثر شيوعًا ووصفًا موجزًا ​​للأنواع التي تحتوي عليها.

مساحات أسماء FCL الأساسية
مساحة الاسم المحتوى
نظام أنواع البيانات الأساسية وفئات المساعدة
System.Collections جداول التجزئة والمصفوفات المتغيرة والحاويات الأخرى
بيانات النظام فئات ADO .NET للوصول إلى البيانات
نظام الرسم فئات لعرض الرسومات (GDI +)
System.IO فئات I / O للملف والدفق
System.Net فصول للعمل معها بروتوكولات الشبكةعلى سبيل المثال مع HTTP
النظام. التفكير فصول لقراءة وكتابة البيانات الوصفية
System.Runtime. عن بعد فصول للتطبيقات الموزعة
عملية النظام فصول لإنشاء خدمات Wndows
النظام فصول لإنشاء وإدارة التدفقات
System.Web فئات دعم HTTP
System.Web.Services دروس لتطوير خدمات الويب
System.Web.Services. فئات لتطوير عملاء خدمات الويب للبروتوكولات
System.Web.UI الفئات الرئيسية المستخدمة بواسطة ASP.NET
System.Web.UI. WebControls ضوابط خادم ASP .NET
System.Wndows.Forms فئات لتطبيقات واجهة المستخدم الرسومية
System.xml فئات لقراءة وإدخال بيانات XML

جميع التطبيقات المدارة تستخدم

يوم جيد. أليكسي جولينين على اتصال. في المقالة الأخيرة ، رأينا كيفية تمرير الوسائط إلى طريقة في C #. في هذا المقال ، أود أن أقول مرة أخرى (بكلمات أبسط) ما هو برنامج. الإطار الصافي و Visual Studio. هذه المقالة هي استمرار للمقالات وصف Visual Studio و. NET Framework .الإطار الصافيهل CLR (وقت تشغيل اللغة العامة - المكون الرئيسي. NET Framework) ، والذي يضمن تنفيذ التعليمات البرمجية المدارة. يدير CLR هذا الرمز. ما هو الكود المدار؟ لا يتم تجميع الكود المكتوب لـ .NET Framework في كود الآلة النهائي ، ولكن بلغة وسيطة (ما يسمى لغة وسيطة ، IL). ثم يتم تمرير هذا التجميع إلى المستخدم (يجب أن يكون هناك .Net Framework على الجهاز) ، ويتم تحميله في الذاكرة ويترجم أوامر IL إلى إجراءات يجب تنفيذها.

ما هي الفائدة من اللغة الوسيطة IL؟

أولاً ، إنها منصة مستقلة ، وليست مرتبطة بمعالج معين.

ثانيًا ، يسمح وجودها لـ CLR بالتحكم في تشغيل برنامجك ، أي لا تسمح لها بفعل أي أشياء غير مقبولة (على سبيل المثال ، التلاعب بالذاكرة).

المكون الثاني المهمبعد CLR هو مكتبة الصف... يتضمن .NET Framework عددًا كبيرًا من الفئات ذات مساحات الأسماء التي توفر جميع الوظائف الأساسية. هذه هي الوظيفة التي قد يحتاجها برنامجك ، على سبيل المثال ، العمل مع الملفات والشبكات والعمليات مع النظام الفرعي للرسومات.

المكون الثالثهي أطر تطوير (بمعنى آخر مكتبات التطوير). يتضمن ذلك مكتبات مثل WPF (Windows Presentation Foundation) و ASP.NET و Entity Framework و WCF (Windows Communication Foundation) و متجر ويندوزوغيرها ، في الواقع ، هذه أيضًا فصول. الفرق هو أن هذه الفئات مصممة لحل مشكلات معينة:

  • WPF - للعمل مع التطبيقات الرسومية
  • ASP.NET - للعمل مع تطبيقات الويب
  • WCF - للتواصل وبناء التطبيقات الموزعة (خادم العميل)
  • Entity Framework - للعمل مع قاعدة بيانات.

في وقت كتابة هذه السطور احدث اصدارهو NET Framework 4.6

بيئة التطوير الأساسية التي أوصت بها Microsoft هي Visual Studio. عادة ما يكون لدى Microsoft هذا الموقف: كيف يخرج نسخة جديدة NET Framework ، ثم يأتي إصدار جديد من Visual Studio بعد فترة. ما هو مدرج في Visual Studio (أساسي):

  1. محرر نص مع إبراز بناء الجملة من التعليمات البرمجية
  2. نظام مساعدة IntelliSence (يتم استدعاؤه تلقائيًا أو بالضغط على Ctrl + Space (مسافة))
  3. مترجمون من لغات مختلفة
  4. تطوير التطبيقات السريعة (RAD)
  5. المصمم المرئي للواجهات والرسوم البيانية
  6. مكون للعمل مع الخوادم وقواعد البيانات
  7. خادم الويب IIS وخيار SQL Server Express
  8. مصححات الأخطاء ومصفحات التعريف والمكونات التي تسمح لك بمعالجة الأخطاء
  9. نظام تعليمات MSDN

في وقت كتابة هذا التقرير ، كان أحدث إصدار هو Visual Studio 2015.

كيف يعمل مفهوم البرامج في Visual Studio. الاستوديو لديه مفهوم "المشروع" و "الحل". المشروع عبارة عن وحدة تجميع. يتكون من مجموعة من الملفات. يتم تجميع المشروع بالكامل ، عادةً في تجميع (ملف exe أو ملف dll). يمكن تجميع المشاريع في الحل. الحل هو ببساطة مجموعة من المشاريع التي قد تكون أو لا تكون مرتبطة ببعضها البعض (كما هو الحال عادة).

أنواع تطبيقات .NET

يمكن استخدام لغة C # لإنشاء تطبيقات وحدة التحكم - التطبيقات النصية التي تعمل في نافذة DOS. على الأرجح ، سيتم استخدام هذه التطبيقات لاختبار مكتبات الفصل. ومع ذلك ، في كثير من الأحيان ، يجب استخدام C # لإنشاء تطبيقات يمكنها الوصول إلى العديد من التقنيات المرتبطة بـ .NET. تقدم هذه المقالة نظرة عامة سريعة على أنواع التطبيقات المختلفة التي يمكنك كتابتها في C #.

بناء تطبيقات ASP.NET

أدى الظهور المبكر لـ ASP.NET 1.0 إلى تغيير نموذج برمجة الويب بشكل أساسي. ASP.NET 4 هو الإصدار الأقدم للمنتج وهو مبني على التطورات السابقة. يقدم ASP.NET 4 خطوات اختراق رئيسية لتكون أكثر إنتاجية. الهدف الرئيسي من ASP.NET 4 هو تمكينك من إنشاء تطبيقات قوية وآمنة وديناميكية بأقل قدر ممكن من التعليمات البرمجية.

ميزات ASP.NET

الأول ، وربما الأكثر أهمية ، هو تلك الصفحات منظم... وهذا يعني أن كل صفحة هي ، في الواقع ، فئة موروثة منها فئة .NET System.Web.UI.Page، والتي يمكنها تجاوز مجموعة من الطرق التي يتم استدعاؤها أثناء دورة حياة كائن الصفحة. (يمكنك التفكير في هذه الأحداث على أنها أشقاء أحداث خاصة بصفحة معينة OnApplication_Startو OnSession_Startالتي تأتي في ملفات global.asax في ASP الكلاسيكية.) نظرًا لأنه يمكن تقسيم وظائف الصفحات إلى معالجات أحداث لأغراض محددة ، فإن صفحات ASP.NET أسهل في الفهم.

شيء جميل آخر حول صفحات ASP.NET هو أنه يمكنك إنشاؤها في Visual Sludio 2010 ، نفس البيئة التي تقوم بتشفيرها لمنطق العمل ومكونات الوصول إلى البيانات التي تستخدمها نفس صفحات ASP.NET. يحتوي مشروع أو حل Visual Studio 2010 على جميع الملفات المرتبطة بالتطبيق. علاوة على ذلك ، يمكن تصحيح صفحات ASP الكلاسيكية مباشرة في المحرر. الخامس ايام زمانفيما يتعلق بـ Visual InterDev ، كانت هناك حاجة غير سارة لتكوين InterDev وخادم الويب الخاص بالمشروع على وجه التحديد لتمكين تصحيح الأخطاء.

من أجل الوضوح ، تسمح لك أداة ASP.NET البرمجية الخلفية بتوسيع النهج المنظم إلى أبعد من ذلك. يسمح لك ASP.NET بعزل وظيفة الخادم لصفحة في فئة ، وتجميع تلك الفئة مع الصفحات الأخرى في DLL ، ووضع DLL هذا في دليل أسفل جزء HTML. يقوم التوجيهPage في بداية الصفحة بربط هذا الملف بالفئة. عندما يطلب المستعرض صفحة ، يقوم خادم الويب بإنشاء أحداث في الفصل الموجود في ملف فئة الصفحة.

أخيرًا وليس آخرًا ، خاصية ASP.NET التي يجب ذكرها هي زيادة الأداء. بينما يتم تفسير صفحات ASP الكلاسيكية في كل مرة يتم فيها الوصول إلى الصفحة ، يتم تخزين صفحات ASP.NET مؤقتًا على خادم الويب بعد التجميع. هذا يعني أن كافة الطلبات اللاحقة لصفحات ASP.NET أسرع من الأولى.

يعمل ASP.NET أيضًا على تسهيل كتابة الصفحات التي تعرض النماذج في المستعرض التي يمكن تطبيقها عليها شبكة الشركة... تتمثل وجهة النظر التقليدية للتطبيقات التي تركز على النموذج في أنها توفر واجهة مستخدم غنية ، ولكن من الصعب صيانتها لأنها تعمل على العديد من أجهزة العملاء. لهذا السبب ، يعتمد الأشخاص فقط على التطبيقات التي تركز على النموذج عندما يحتاجون إلى واجهة غنية ويمكنهم تقديم دعم موثوق به لمستخدميهم.

نماذج الويب

لتبسيط تصميم صفحات الويب بشكل أكبر ، يوفر Visual Studio 2010 مكتبة نماذج الويب. تتيح لك هذه الأداة إنشاء صفحات ASP.NET بيانياً ، تمامًا مثل النوافذ التي يتم إنشاؤها في Visual Basic 6 وفي C ++ Builder. بمعنى آخر ، ستحتاج إلى سحب عناصر التحكم الضرورية من مربع الأدوات إلى سطح النموذج ، ثم تعديل رمز النموذج قليلاً وكتابة معالجات الأحداث لعناصر التحكم. عند استخدام C # لإنشاء نموذج ويب ، يمكنك إنشاء فئة C # ترث من الفئة الأساسية صفحة، وصفحة ASP.NET تعرض هذه الفئة على أنها خلف التعليمات البرمجية الخاصة بها. بالطبع ، ليس عليك استخدام C # لإنشاء نموذج الويب الخاص بك ؛ يمكنك أيضًا استخدام Visual Basic 2010 أو أي لغة أخرى تعتمد على .NET للقيام بذلك.

في الماضي ، منع تعقيد تطوير الويب بعض فرق التطوير من محاولة إتقانه. لكي تنجح في تطوير تطبيقات الويب ، كان عليك معرفة الكثير تقنيات مختلفةمثل VBScript و ASP و DHTML و JavaScript وما إلى ذلك. أدى تطبيق مفاهيم نماذج الويب على صفحات الويب إلى تسهيل إنشاء تطبيقات الويب.

ضوابط خادم الويب

لا تعتبر عناصر التحكم المستخدمة في نماذج الويب عناصر تحكم بالمعنى نفسه التي تعتبر بها عناصر تحكم ActiveX. بدلاً من ذلك ، فهي عبارة عن واصفات XML تنتمي إلى مساحة اسم ASP.NET التي يحولها مستعرض الويب ديناميكيًا إلى واصفات HTML والبرامج النصية من جانب العميل عند طلب الصفحة. والمثير للدهشة أن خادم الويب يمكنه عرض نفس عناصر التحكم جانب الخادمبطرق مختلفة ، مما يؤدي إلى إنشاء تحويل مناسب لمتصفح الويب المحدد الذي قدم الطلب. هذا يعني أنه يمكنك الآن إنشاء محتوى مثالي بسهولة واجهات المستخدمصفحات الويب دون القلق بشأن كيفية جعل الصفحة تعمل في أي من المتصفحات المتاحة - ستهتم نماذج الويب بذلك.

خدمات ويب XML

اليوم ، تشكل صفحات HTML غالبية حركة المرور على شبكة الويب العالمية. ومع ذلك ، بفضل XML ، يتم تزويد أجهزة الكمبيوتر بتنسيق مستقل عن الجهاز يمكن استخدامه للتواصل عبر الإنترنت. في المستقبل ، يمكن لأجهزة الكمبيوتر استخدام XML لتبادل المعلومات ، بدلاً من إرسال الرسائل إلى بعضها البعض عبر الخطوط المؤجرة بتنسيق خاص مثل EDI (تبادل البيانات الإلكترونية). تم تصميم XML Web Services لبيئة ويب تتمحور حول الخدمة ، حيث توفر أجهزة الكمبيوتر البعيدة معلومات ديناميكية لبعضها البعض يمكن تحليلها وإعادة تنسيقها قبل تقديم العرض التقديمي النهائي للمستخدم. تعد خدمات ويب XML طريقة سهلة لأجهزة الكمبيوتر لتوفير المعلومات في شكل XML لأجهزة الكمبيوتر الأخرى على الإنترنت.

من الناحية الفنية ، خدمة ويب .NET XML هي صفحة ASP.NET تقوم بإرجاع XML بدلاً من HTML عندما يطلبها العملاء. تعتمد مثل هذه الصفحات على مكتبات DLL الخلفية للتعليمات البرمجية التي تحتوي على فئات موروثة من WebService. يوفر Visual Studio 2010 IDE آلية تسهل إنشاء خدمات الويب.

قد تختار مؤسسة أو منظمة خدمات ويب XML لسببين رئيسيين. السبب الأول هو أنها تعتمد على HTTP ؛ يمكن لخدمات الويب استخدام الشبكات القائمة على HTTP كوسطاء لنقل المعلومات. سبب آخر هو أنه نظرًا لأن XML Web Services تستخدم XML ، فإن تنسيق البيانات المرسلة هو توثيق ذاتي ومفتوح ومستقل عن النظام الأساسي.

إنشاء نماذج Windows

على الرغم من أن C # و .NET مصممان خصيصًا لتطوير الويب ، إلا أنهما لا يزالان يدعمان ما يسمى بتطبيقات العميل "الدهون" - أي. التطبيقات التي يجب تثبيتها على جهاز المستخدم النهائي ، حيث تتم معظم المعالجة. يتم توفير ذلك من خلال مكتبة نماذج Windows.

ومع ذلك ، إذا كنت قد بدأت في تعلم .NET framework ، فسأفعل لا أوصيتعلم نماذج Windows وانتقل مباشرة إلى أحدث تقنيات WPF.

مؤسسة عرض Windows (WPF)

واحد من أحدث التقنياتتعد Windows Presentation Foundation (WPF) ثورية. يعتمد WPF على استخدام XAML عند إنشاء التطبيقات. XAML تعني لغة ترميز التطبيق الموسعة - لغة ترميز التطبيقات القابلة للتوسيع. هذه الطريقة الجديدة لإنشاء التطبيقات داخل بيئة Microsoft ، التي تم تقديمها لأول مرة في عام 2006 ، هي جزء من .NET Framework 3.0 و 3.5 و 4. وهذا يعني أنه لتشغيل أي تطبيق WPF ، يجب التأكد من تثبيت جهاز العميل . NET Framework 3.0 أو 3.5 أو 4. تتوفر تطبيقات WPF لأنظمة التشغيل Windows 7 و Windows Vista و Windows XP و مشغل برامج وندوز 2003 و Windows Server 2008 (تسمح أنظمة التشغيل هذه فقط بتثبيت .NET Framework 3.0 أو 3.5 أو 4).

XAML هو إعلان XML يستخدم لإنشاء نماذج تمثل جميع الجوانب المرئية وسلوك تطبيقات WPF. نظرًا لأنه يمكنك العمل مع تطبيق WPF برمجيًا ، فإن هذه التقنية تمثل خطوة نحو البرمجة التصريحية التي تتجه الصناعة بأكملها نحوها اليوم. تعني البرمجة التصريحية أنه بدلاً من إنشاء كائنات عن طريق كتابة التعليمات البرمجية بلغة مجمعة مثل C # أو VB أو Java ، يتم الإعلان عن كل شيء باستخدام برمجة تشبه XML.

خدمات الويندوز

خدمة Windows (تسمى في الأصل NT Service) هي برنامج مصمم للتشغيل في الخلفية تحت Windows NT / 2000 / XP / 2003 / Vista / 7 (ولكن ليس Windows 9x). هذه الخدمات مفيدة عندما تحتاج إلى تنظيم التشغيل المستمر للبرامج الجاهزة للاستجابة للأحداث ، دون الحاجة إلى بدء تشغيلها صراحة بمبادرة من المستخدم. وخير مثال على ذلك هو خدمة الويب العالمية على خوادم الويب التي تستمع لطلبات الويب من العملاء.

من السهل جدًا تطوير الخدمات في C #. في مساحة الاسم النظام ، الخدمة ، العمليةتتوفر فئات إطار عمل .NET الأساسية التي تتيح لك حل معظم المهام المعيارية المرتبطة بخدمات النظام. بالإضافة إلى ذلك ، يسمح لك Visual Studio .NET بإنشاء مشروع C # Windows Service للبناء فيه خدمات الويندوزاستعمل من قبل مصدرسي #.

مؤسسة اتصالات Windows (WCF)

أثناء استكشافك للطرق التي تنقل بها تقنيات Microsoft البيانات والخدمات من نقطة إلى أخرى ، ستجد أن لديك مجموعة متنوعة من الحلول الممكنة... على سبيل المثال ، يمكنك استخدام ASP.NET Web Services أو .NET Remote Technology أو Enterprise Services أو MSMQ. ما هي التكنولوجيا التي يجب أن تختارها؟ الإجابة على هذا السؤال تمليها ما تحاول تحقيقه ، لأن كل من هذه التقنيات مفضلة في موقف معين.

مع وضع ذلك في الاعتبار ، جمعت Microsoft بالفعل كل هذه التقنيات معًا ، وفي .NET Framework 3.0 وإدراجه في .NET Framework 3.5 و 4 ، توجد طريقة واحدة لنقل البيانات - Windows Communication Foundation (WCF). توفر مكتبة WCF القدرة على إنشاء خدمة مبدئيًا ثم تقديم تلك الخدمة بطرق مختلفة (حتى عبر بروتوكولات مختلفة) مع تغيير بسيط ملف التكوين. WCFهي أداة جديدة قوية للغاية لربط الأنظمة الموزعة.

مؤسسة سير عمل Windows (WF)

تم تقديم Windows Workflow Foundation (WF) لأول مرة في .NET Framework 3.0 ، ولكنه خضع الآن لإصلاح كبير سيجده الكثيرون الآن أكثر فائدة. ستجد أن تجربة WF قد تم تحسينها بشكل كبير في Visual Studio 2010 ، مما يجعل إنشاء مهام سير العمل الخاصة بك أسهل بكثير. ستجد أيضًا عناصر تحكم جديدة في التدفق ، وفئة Flowchart ، وعددًا من الإجراءات الجديدة مثل DoWhile و ForEach و ParallelForEach.