Анотация
Дисциплината "Разпределени приложения със C# и Visual Studio .NET" е ориентирана към изграждане на Web-базирани приложения със средствата на .NET технологиите. Една от нейните цели е да задълбочи и разшири знанията и уменията на студентите за програмиране на езика C# и използване на .NET модела, получени от дисциплината "Приложно програмиране със C# и Visual Studio .NET". Основната цел на дисциплината е насочена към изучаване и използване на възможностите на C# и .NET модела за проектиране и разработване на Интернет-приложения. В дисциплината се разглеждат проблеми на разпределената обработка, описват се и се анализират различни модели на разпределени приложения и средствата за тяхната реализация. В изучавания материал се поставят няколко акцента: многонишково и асинхронно програмиране, синхронизация на достъпа до ресурси; реализиране на различни механизми и протоколи за комуникация; същност и особености на основния модел "заявка отговор" за предаване на данни в Интернет; създаване на разпределени приложения на базата на XML Web услуги и отдалечен достъп.
Дисциплината дава на студентите теоретични знания и практически умения за разработване на реални Web-базирани приложения, които могат да се използват при дипломно проектиране и явяване на държавен изпит, както и за Microsoft сертифициране.
Съдържание
Тема 1. Делегати – методи и класове. Механизъм за взаимодействие между обекти. Асинхронна обработка. Деклариране и извикване на делегат. Композируеми делегати.
Тема 2. Събития. Особености. Операции върху събития. Абониране за събитие. Асинхронна обработка на събития.
Тема 3. Атрибути. Вградени в .Net атрибути. Потребителски атрибути. Обработка на потребителските атрибути.
Тема 4. Многонишково програмиране. Процеси и нишки в .Net. Създаване и управление на нишките. Състояния и преходи на нишки. Класове за създаване и управление на нишките.
Тема 5. Синхронизация на достъпа до ресурси. Синхронизационен контекст. Монитор. Ръчна синхронизация. Mutex. Синхронизация на нишки в библиотечните класове на .Net
Тема 6. Специални операции с нишки. Класове за работа с таймери. Клас Timer. Пул от нишки.
Тема 7.
Тема 8. Асинхронно програмиране в .Net. Модели на асинхронни операции в .Net. Асинхронни делегати
Тема 9. Сериализация и десериализация. Вградена сериализация. Управлявана сериализация.
Тема 10.Интернет програмиране. Представяне и обработка на IP адреси. Програмиране на ниво сокети.
Тема 11.TCP услуги. Комуникация с UDP. Мрежови потоци.
Тема 12.Подръжка на HTTP в .Net.
Тема 13.Разпределено програмиране. .Net Remoting. Отдалечена инфраструктура. Канали и форматери. Активация на отдалечени обекти.
Тема 14.Сигурност в. Net Framework.