
- •1. Сборщик мусора и управление ресурсами
- •2. Жизненный цикл объектов
- •3. Неуправляемый код и указатели
- •4. Строки и строковый пул
- •5. Обобщенные типы, ограничения в параметрах обобщенных типов, типы допускающие null значение
- •6. Тип Type и пространство System.Reflection
- •7. Создание объектов с помощью рефлексии, вызов методов объектов средствами рефлексии
- •8. Атрибуты, жизненный цикл объекта атрибута
- •9. Специальные атрибуты net.Framework и ограничения пользовательских атрибутов
- •10. Метаданные сборок, структура сборок, домены приложений
- •11. Многопоточное программирование. Виды многопоточности, обеспечение многопоточности в net.Framework, виды блокировки
- •12. Класс Thread, логические и физические потоки выполнения, жизненный цикл потока выполнения
- •13. Класс монитора, конструкция lock()
- •14. Атомарная синхронизация и класс Interlocked
- •15. Класс ReaderWriterLock, пул потоков
- •16. Классы WaitHandle и производные от него: ManualResetEvent, AutoResetEvent, Mutex
- •17. Высокоуровневые средства распараллеливания задач, класс Task
- •18. Свойства и методы класса Task
- •19. Делегаты, цепочка вызова
- •Групповая адресация
- •20. Асинхронный вызов с помощью объекта делегата
- •IAsyncResult
- •21. События, обратный вызов, типовая схема реализации события
- •22. Лямбда-выражения, замыкание лямбда-выражений
- •23. Деревья выражений, типы деревьев. Создание деревьев выражений
- •24. Технология ado.Net, архитектура, модель с постоянным соединением и с рассоединением
- •Linq to DataSet
- •Linq to sql
- •Платформа ado.Net Entity Framework
- •Службы wcf Data Services
- •25)Понятие поставщика данных и его составные части в ado.Net. Класс соединения, итератора, команды.
- •26. Технология объектно-реляционного связывания, персистентные объекты, на примере одной из технологии (Linq to sql, Linq to Entities, nHibernate)
- •Entity Framework
- •27. Linq to Objects: архитектура технологии и возможности, понятие итератора, создание Linq запросов
- •28. Средства распараллеливания выполнения запросов plinq.
- •29. Основы wcf. Основные понятия, применение. Контракты данных, привязки. Архитектура сервис-ориентированных систем.
- •1) Библиотека с интерфейсом
- •2) Сервер – консольное приложение
- •3) Клиент – консольное приложение
- •30. Структура проекта с использованием wcf сервисов. Интерфейсы сервиса, атрибуты для обозначения методов сервиса и контрактов данных.
- •1) Библиотека с интерфейсом
- •2) Сервер – консольное приложение
- •3) Клиент – консольное приложение
- •31. Методы и свойства прокси-объекта на стороне клиента.
- •32. Развертывание wcf сервисов.
3) Клиент – консольное приложение
namespace Client
{
[ServiceContract]
public interface IMyObject
{
[OperationContract]
string GetCommandString(int i);
}
class Program
{
static void Main(string[] args)
{
Uri tcpUri = new Uri("http://localhost:1050/TestService");
EndpointAddress address = new EndpointAddress(tcpUri);
BasicHttpBinding binding = new BasicHttpBinding();
ChannelFactory<IMyObject> factory = new ChannelFactory<IMyObject>(binding, address);
IMyObject service = factory.CreateChannel();
Console.WriteLine("Вызываю метод сервиса...?");
}
}
}
Пример 2
[ServiceContract]
interface MyUserService
{
[OperationContract]
UserDetails GetUserDetails(int userId);
}
and then for the data:
[DataContract]
class UserDetails
{
[DataMember]
int userId { get; set; }
[DataMember]
string userName { get; set; }
}
31. Методы и свойства прокси-объекта на стороне клиента.
Клиент WCF состоит из прокси, позволяющего приложению сообщаться со службой (WCF), и конечной точки, соответствующей конечной точке, заданной для этой службы. Прокси создается на стороне клиента в файле app.config и включает информацию о типах и методах, предоставляемых службой. В случае служб, предоставляющих несколько конечных точек, клиент может выбрать одну, лучше всего соответствующую его требованиям; например, клиент может выбрать способ сообщения посредством протокола HTTP и проверку подлинности Windows.
После создания клиента WCF можно обращаться к его службе в коде точно так же, как это делается с любым другим объектом.
Клиент – консольное приложение
namespace Client
{
[ServiceContract]
public interface IMyObject
{
[OperationContract]
string GetCommandString(int i);
}
class Program
{
static void Main(string[] args)
{
Uri tcpUri = new Uri("http://localhost:1050/TestService");
EndpointAddress address = new EndpointAddress(tcpUri);
BasicHttpBinding binding = new BasicHttpBinding();
ChannelFactory<IMyObject> factory = new ChannelFactory<IMyObject>(binding, address);
IMyObject service = factory.CreateChannel();
Console.WriteLine("Вызываю метод сервиса...?");
}
}
}
32. Развертывание wcf сервисов.
При использовании Службы данных WCF для создания службы данных, поддерживающей Open Data Protocol (OData), необходимо во время разработки выполнить приведенные ниже основные задачи.
Определение модели данных. Службы данных WCF поддерживают различные поставщики служб данных, позволяющие определить модель данных на основе данных из различных источников данных, от реляционных баз данных до данных с поздним связыванием.
Создание службы данных. Самая базовая служба данных предоставляет класс, производный от класса DataService<T>, с типом T, представляющим имя контейнера сущностей, квалифицированное пространством имен.
Настройка службы данных. По умолчанию службы Службы данных WCF запрещают доступ к ресурсам, предоставляемым контейнером сущностей. Интерфейс DataServiceConfiguration позволяет настроить доступ к ресурсам и операциям службы, задать поддерживаемую версию OData, а также определить другие особенности поведения службы, такие как использование пакетирования или максимальное количество сущностей, которые могут быть возвращены в одном канале ответа.
Выбор веб-сервера развертывания
Локальный сервер служб IIS. При создании службы данных, которая является приложением ASP.NET или веб-узлом ASP.NET, работающим на базе служб IIS, рекомендуется разрабатывать и тестировать службу данных с помощью IIS на локальном компьютере.
Сервер разработки Visual Studio. В состав Visual Studio входит встроенный веб-сервер, сервер разработки Visual Studio, который является веб-сервером по умолчанию для проектов ASP.NET. Этот веб-сервер предназначен для запуска проектов ASP.NET на локальном компьютере во время разработки.
Среда разработки Microsoft Azure В состав средств Microsoft Azure для Visual Studio входит интегрированный набор инструментов для развертывания служб Microsoft Azure в Visual Studio. С помощью этих средств можно разрабатывать службы данных, которые могут развертываться на Microsoft Azure, а также тестировать службу данных на локальном компьютере перед развертыванием.
Развертывание служб данных WCF
Службы данных WCF обеспечивают гибкость в выборе процесса, в котором будет размещаться служба данных. Можно развертывать службу данных с помощью Visual Studio на следующих платформах:
Веб-сервер, размещенный в службах IIS
Если служба данных разрабатывается как проект ASP.NET, ее можно развертывать на веб-сервере IIS с помощью стандартных процессов развертывания ASP.NET. В Visual Studio предусмотрены следующие технологии развертывания ASP.NET в зависимости от типа проекта ASP.NET, в котором размещается развертываемая служба данных.
Технологии развертывания для веб-приложений ASP.NET
Пакет веб-развертывания
Публикация одним щелчком
Технологии развертывания для веб-узлов ASP.NET
Средство копирования веб-узлов
Средство публикации веб-узлов
XCopy
Microsoft Azure
Службу данных можно развертывать на Microsoft Azure с помощью средств Microsoft Azure для Visual Studio. Загрузить средства Microsoft Azure для Visual Studio можно в центре загрузки Майкрософт.