NET Framework 3.0, 3.5, 3.5 SP1: общая характеристика.



.NET Framework 2.5 была выпущена одновременно с Visual Studio 2005, MS SQL Server 2005 и BizTalk 2006. С выходом версии 2.0 была добавлена поддержка обобщенных классов (англ. generic), анонимных методов, полная поддержка 64-битных платформ x64 и IA64.

NET Framework 3.0

Первоначально, .NET Framework 3.0 носил имя WinFX, что отражало его суть: расширение .NET Framework 2.0, с сохранением всех библиотек и добавлением четырёх новых компонентов:

  • Windows Presentation Foundation (WPF) — графическая (презентационная) подсистема в составе .NET Framework 3.0, имеющая прямое отношение к XAML.
  • Windows Communication Foundation (WCF)
  • Windows Workflow Foundation (WF)
  • Windows CardSpace

WPF — подсистема для создания интерфейса пользователя, включая возможности по обработке 2D и 3D графики, работу с документами и мультимедиа. отделение данных от представления

Типы приложений:

· standalone applications

◦     установка ClickOnce или MSI, полный доступ к платформе

·   web-browser applications

◦     хост — браузер, работают в «песочнице»

·     должен быть установлен .NET

WCF — сервис-ориентированная система обмена сообщениями, которая позволяет программам взаимодействовать локально или удалённо подобно Web-сервисам.

.NET Remoting + Web Services

WF

Поток (workflow) — программная реализация бизнес-процесса или бизнес-логики. WF —модель программирования, механизмы и инструменты создания систем, основанных на бизнес сущностях и потоках, для платформ Windows

Windows CardSpace

· CardSpace — система идентификации, которая позволяет пользователям использовать цифровое удостоверение из принадлежащего им набора удостоверений (карт), для идентификации в системе, где это удостоверение признанно.

· Цифровое удостоверение (Digital Identity) — информация, позволяющая произвести идентификацию человека или организации вкомпьютерной системе

· Передача в сети → маркер доступа (Security Token)

· Для пользователя → Информационная карта (Information Card)

NET Framework 3.5

·   новые классы BCL

·   объединенные языковые запросы (LINQ) – C# 3.0

·   ASP.NET AJAX включены в поставку

·   расширение WCF

·   инструментальная поддержка WCF,

 WPF, WF

NET Framework 3.5 SP1

· Изменения в ядре CLR

·   ASP.NET Dynamic Data

·   ADO.NET Entity Framework

·   ADO.NET Data Services Framework

·   Повышена производительность WPF

·   Расширения в ClickOnce

·   Поддержка MS SQL Server 2008

C# 3.0, LINQ: обзор.

Language Integrated Query (LINQ) — проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework. Ранее был реализован в языках C# и Visual Basic .NET. Множество концепций, которые вводит LINQ, изначально опробовали в исследовательском проекте Microsoft Cω.

Источники данных

Изначально поддерживая механизм запросов для коллекций объектов в памяти, реляционных баз данных и данных в формате XML, LINQ обладает расширяемой архитектурой, которая позволяет сторонним разработчикам реализовать доступ к их хранилищам данных через механизм LINQ. Для этого необходимо реализовать стандартные операторы запросов, используя методы расширения, или реализовать интерфейс IQueryable, позволяющий разбирать дерево выражения во время выполнения, транслируя его в свой язык запросов. В сообществе существует пример пользовательской реализации стандартных операторов запросов.[1]

Например, LINQ для SQL (бывший DLinq), который преобразует LINQ-выражения в SQL-запросы к базе данных, использует возможности компилятора для построения дерева выражений, основываясь на контексте программы, а не создавая делегаты функций. Получив дерево выражения, описывающее запрос, специализированный провайдер базы данных может его проанализировать и преобразовать в запрос на подходящем языке для базы данных, например Microsoft SQL Server, Jet (которая используется в Microsoft Access) или любой другой. Некоторые энтузиасты при помощи подобной тактики уже создали для проверки концепции LINQ библиотеки для запросов к WMI[2], RSS, LDAP[3], коллекциям данных ADO.NET, Amazon Web Services[4] и SharePoint[5].

Существующая предварительная версия от Microsoft также включает в себя реализацию LINQ для XML (ранее называвшуюся XLinq), которая значительно упрощает построение XML документа и извлечение данных из него, используя похожие подходы. Кроме того, Microsoft работает над ADO.NET vNext, также известным как LINQ to Entities.

SQLMetal

Библиотека LINQ включает в себя инструмент SQLMetal, который позволяет автоматически генерировать классы непосредственно из поддерживаемых .NET Framework баз данных, что дает возможность очень быстро и просто интегрировать в код сущности базы данных. Альтернативой является входящий в состав Visual Studio реляционный конструктор объектов, однако он может быть использован только вместе с Microsoft SQL Server.

Пример

// тип Northwind — это наследник DataContext, созданный SQLMetal

// тип Northwind.Orders — Table<Order>

// тип Northwind.Customers — Table<Customer>

 Northwind db = new Northwind(connectionString);

 // используется ключевое слово 'var', так как не существует имени у типа,

// к которому принадлежит результат запроса

 var q = from o in db.Orders, c in db.Customers

where o.Quality == "200" && (o.CustomerID == c.CustomerID)

select new { o.DueDate, c.CompanyName, c.ItemID, c.ItemName };

 // q ссылается на объект типа IEnumerable<T>, где T — анонимный тип,

// генерируемый компилятором

 foreach (var t in q)

{

// t является строго типизированным, хоть у его типа и отсутствует имя,

// известное при написании кода

Console.WriteLine("DueDate Type = {0}", t.DueDate.GetType());

Console.WriteLine("CompanyName (lowercased) = {0}", t.CompanyName.ToLower());

Console.WriteLine("ItemID * 2 = {0}", t.ItemID * 2);

}


Дата добавления: 2018-05-13; просмотров: 404; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!