50

Svetlin Nakov - .NET Framework Overview

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Svetlin Nakov - .NET Framework Overview
Page 2: Svetlin Nakov - .NET Framework Overview

Microsoft Microsoft .NET Framework.NET Framework

Кратък обзорКратък обзор

Светлин НаковСветлин Наков

Консултант по разработка на софтуерКонсултант по разработка на софтуер

Софийски УниверситетСофийски Университет““Св. Климент ОхридскиСв. Климент Охридски””

http://www.nakov.comhttp://www.nakov.com

Хоноруван преподавател по компютърни Хоноруван преподавател по компютърни науки и софтуерни технологиинауки и софтуерни технологии

Page 3: Svetlin Nakov - .NET Framework Overview

Визията на Microsoft за .NET

ERP & BillingCustomerService

Sales

Потребители- На всяко

устройство- Навсякъде- По всяко време

XML Web УслугиИнтеграция на бизнес процесите и приложенията

Back OfficeХетерогенна инфраструктура от сървъри

SchedulingSchedulingAuthenticationAuthentication

NotificationNotification

Page 4: Svetlin Nakov - .NET Framework Overview

.NET Framework.NET Framework.NET Framework.NET Framework

Модел за програмиране за Модел за програмиране за .NET.NET Платформа за изпълнение на Платформа за изпълнение на .NET.NET код в код в

управлявана средауправлявана среда Удобна среда за разработка и Удобна среда за разработка и

изпълнение на мрежови приложения и изпълнение на мрежови приложения и WebWeb услуги услуги

ПрограмноПрограмно API API и единен и единен framework, framework, независим от езиците за програмираненезависим от езиците за програмиране

Кодът работи на различни платформиКодът работи на различни платформи (Windows, Linux, FreeBSD, …)(Windows, Linux, FreeBSD, …)

Модел за програмиране за Модел за програмиране за .NET.NET Платформа за изпълнение на Платформа за изпълнение на .NET.NET код в код в

управлявана средауправлявана среда Удобна среда за разработка и Удобна среда за разработка и

изпълнение на мрежови приложения и изпълнение на мрежови приложения и WebWeb услуги услуги

ПрограмноПрограмно API API и единен и единен framework, framework, независим от езиците за програмираненезависим от езиците за програмиране

Кодът работи на различни платформиКодът работи на различни платформи (Windows, Linux, FreeBSD, …)(Windows, Linux, FreeBSD, …)

Page 5: Svetlin Nakov - .NET Framework Overview

Сърцето наСърцето на .NET .NET Framework: Framework: FCL & CLRFCL & CLR Common Language RuntimeCommon Language Runtime

Управление на паметта (Управление на паметта (garbage collectiongarbage collection)) Интеграция на различни езициИнтеграция на различни езици Поддържа множество версии за компонентите Поддържа множество версии за компонентите

(т. нар. (т. нар. assembliesassemblies) – няма вече конфликти) – няма вече конфликти Интегрирана сигурностИнтегрирана сигурност

Framework Class LibraryFramework Class Library Предоставя основната функционалност за Предоставя основната функционалност за

разработкаразработка::

ASP.NET, Web Services, ADO.NET, Windows ASP.NET, Web Services, ADO.NET, Windows Forms, IO, XML,Forms, IO, XML, .. ....

Page 6: Svetlin Nakov - .NET Framework Overview

.NET Framework.NET Framework Common Language RuntimeCommon Language Runtime

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

CLR CLR управлява процеса на управлява процеса на изпълнение на кодаизпълнение на кода

Управлява паметта, Управлява паметта, конкурентността, ...конкурентността, ...

Code-based securityCode-based security Role-based securityRole-based security

Page 7: Svetlin Nakov - .NET Framework Overview

.NET Framework.NET Framework Base Class LibraryBase Class Library

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

.NET Framework (Base Class Library).NET Framework (Base Class Library)

Богата обектно-ориентирана Богата обектно-ориентирана библиотека от преизползваеми библиотека от преизползваеми типоветипове

КолекцииКолекции, , вход-изходвход-изход, , работа работа със символни низовесъс символни низове, …, …

Page 8: Svetlin Nakov - .NET Framework Overview

.NET Framework.NET Framework Data Access LayerData Access Layer

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

.NET Framework (Base Class Library).NET Framework (Base Class Library)

ADO .NET and XMLADO .NET and XML

Достъп до релационни бази данниДостъп до релационни бази данни Disconnected Disconnected модел на даннитемодел на данните Работа с Работа с XMLXML

Page 9: Svetlin Nakov - .NET Framework Overview

.NET Framework.NET Framework ASP.NET & Windows FormsASP.NET & Windows Forms

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

.NET Framework (Base Class Library).NET Framework (Base Class Library)

ADO .NET and XMLADO .NET and XML

ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services

Mobile Internet ToolkitMobile Internet Toolkit

WindowsWindowsFormsForms

Потребителски интерфейс за Потребителски интерфейс за приложениятаприложенията – Web- – Web-базиранбазиран, , Windows GUI, Web Windows GUI, Web услугиуслуги, …, …

Page 10: Svetlin Nakov - .NET Framework Overview

.NET Framework.NET Framework Programming LanguagesProgramming Languages

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

.NET Framework (Base Class Library).NET Framework (Base Class Library)

ADO .NET and XMLADO .NET and XML

ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services

Mobile Internet ToolkitMobile Internet Toolkit

WindowsWindowsFormsForms

C++C++ C#C# VB.NETVB.NET PerlPerl J#J# ……

Използвате любимия си език!Използвате любимия си език!

Page 11: Svetlin Nakov - .NET Framework Overview

.NET Framework.NET Framework Common Language SpecificationCommon Language Specification

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

.NET Framework (Base Class Library).NET Framework (Base Class Library)

ADO .NET and XMLADO .NET and XML

ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services

Mobile Internet ToolkitMobile Internet Toolkit

WindowsWindowsFormsForms

Common Language SpecificationCommon Language SpecificationC++C++ C#C# VB.NETVB.NET PerlPerl J#J# ……

Page 12: Svetlin Nakov - .NET Framework Overview

.NET Framework.NET Framework Visual Studio .NETVisual Studio .NET

Operating SystemOperating System

Common Language RuntimeCommon Language Runtime

.NET Framework (Base Class Library).NET Framework (Base Class Library)

ADO .NET and XMLADO .NET and XML

ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services

Mobile Internet ToolkitMobile Internet Toolkit

WindowsWindowsFormsForms

Common Language SpecificationCommon Language Specification

C++C++ C#C# VB.NETVB.NET PerlPerl J#J# ……

Visu

al S

tud

io .N

ET

Visu

al S

tud

io .N

ET

Page 13: Svetlin Nakov - .NET Framework Overview

Поддръжка на много езициПоддръжка на много езици IL (MSIL or CIL) – Intermediate LanguageIL (MSIL or CIL) – Intermediate Language

Език от ниско ниво (машинен език), като Език от ниско ниво (машинен език), като асемблер, но обектно-ориентиранасемблер, но обектно-ориентиран

CTS CTS – система от типове, вградена в– система от типове, вградена в CLR CLR Разнообразни типовеРазнообразни типове ( (intint, float, string, …), float, string, …) И стандартни операции над тези типовеИ стандартни операции над тези типове Два вида: Два вида: Value types Value types ии Reference types Reference types

CLS CLS – множество от спецификации, които – множество от спецификации, които трябва да се спазват от всички езици и трябва да се спазват от всички езици и библиотекибиблиотеки Така се осигурява възможността за Така се осигурява възможността за

взаимодействие между различните езицивзаимодействие между различните езици

Page 14: Svetlin Nakov - .NET Framework Overview

Примерна програма наПримерна програма на MSIL MSIL

.method private hidebysig static void Main() .method private hidebysig static void Main() cil managedcil managed

{{ .entrypoint.entrypoint // Code size 11 (0xb)// Code size 11 (0xb) .maxstack 8.maxstack 8 IL_0000: ldstr "Hello, world!"IL_0000: ldstr "Hello, world!" IL_0005: call void IL_0005: call void

[mscorlib]System.Console::WriteLine(string)[mscorlib]System.Console::WriteLine(string) IL_000a: retIL_000a: ret} // end of method HelloWorld::Main} // end of method HelloWorld::Main

Page 15: Svetlin Nakov - .NET Framework Overview

.NET .NET езицитеезиците Езици, предоставени отЕзици, предоставени от Microsoft Microsoft

C++, C#, J#, VB.NET, C++, C#, J#, VB.NET, JScriptJScript

Езици от трети доставчициЕзици от трети доставчици Perl, Python, Pascal, APL, COBOL, Eiffel, Perl, Python, Pascal, APL, COBOL, Eiffel,

Haskell, ML, Oberon, Scheme, Smalltalk…Haskell, ML, Oberon, Scheme, Smalltalk…

Смесване на използваните езициСмесване на използваните езици Междуезиково наследяване на типове и Междуезиково наследяване на типове и

управление на изключенияуправление на изключения Един проект може да съдържа код на Един проект може да съдържа код на

различни езициразлични езици

Интеграцията е вграденаИнтеграцията е вградена, , а не сглобенаа не сглобена Няма допълнителни особености или други Няма допълнителни особености или други

APIAPI за учене за учене

Page 16: Svetlin Nakov - .NET Framework Overview

Езикът Езикът C#C# Смесица междуСмесица между C++, Java C++, Java ии Delphi Delphi Компонентно-ориентиранКомпонентно-ориентиранo o програмиранепрограмиране

СвойстваСвойства, , методи, събитияметоди, събития АтрибутиАтрибути, XML, XML-базирана документация-базирана документация Всичко накуп, без Всичко накуп, без headerheader файлове, файлове, IDLIDL и т.н. и т.н. Може да се ползва в Може да се ползва в WebWeb-приложения-приложения

Всичко е обект!Всичко е обект! Примитивните типове са обектиПримитивните типове са обекти, , напр. напр.

5.ToString()5.ToString() е валидно извикване е валидно извикване Единна система типове = леснота за работаЕдинна система типове = леснота за работа Добра разширяемост и възможност за Добра разширяемост и възможност за

преизползванепреизползване

Page 17: Svetlin Nakov - .NET Framework Overview

Езикът Езикът C# – C# – примерпример

using System;using System;

class HelloWorldclass HelloWorld{{

public static void main()public static void main(){{

Console.WriteLine(“Hello, Console.WriteLine(“Hello, world!”);world!”);}}

}}

Page 18: Svetlin Nakov - .NET Framework Overview

КомпилацияКомпилация

ИзпълнениеИзпълнение

JIT JIT компилаторкомпилатор

машинен машинен кодкод

MSILMSILкодкод

метаданниметаданни

изходен изходен кодкод

езиков езиков компилаторкомпилатор

Нарича сеНарича се assemblyassembly(.EXE (.EXE илиили

.DLL .DLL файлфайл))

Нарича сеНарича се assemblyassembly(.EXE (.EXE илиили

.DLL .DLL файлфайл))

- - Когато даден Когато даден метод се извика метод се извика за първи пътза първи път

- - Когато даден Когато даден метод се извика метод се извика за първи пътза първи път

Компилация и изпълнениеКомпилация и изпълнение

- - Прекомпилация Прекомпилация при инсталиранепри инсталиране- - Прекомпилация Прекомпилация при инсталиранепри инсталиране

Page 19: Svetlin Nakov - .NET Framework Overview

VS.NET – VS.NET – Единна среда за Единна среда за разработка – единни уменияразработка – единни умения ОтОт Visual Studio.NET Visual Studio.NET можетеможете::

Да пишете кодДа пишете код Да рисувате потребителски интерфейсДа рисувате потребителски интерфейс Да разглеждате документациятаДа разглеждате документацията Да изпълнявате и тестватеДа изпълнявате и тествате Да дебъгватеДа дебъгвате

Единна среда за всички езициЕдинна среда за всички езици Единна среда за всички платформиЕдинна среда за всички платформи Единна среда за всички технологииЕдинна среда за всички технологии

Page 20: Svetlin Nakov - .NET Framework Overview

Visual Studio .NETVisual Studio .NET

Page 21: Svetlin Nakov - .NET Framework Overview

.NET Framework Library.NET Framework Library

Base Class LibraryBase Class Library

ADO.NET ADO.NET ии XML XML

Web FormsWeb Forms, , Web ServicesWeb Services,,Mobile Internet ToolkitMobile Internet Toolkit

WindowsWindowsFormsForms

ASP.NETASP.NET

Page 22: Svetlin Nakov - .NET Framework Overview

System System

GlobalizationGlobalization

DiagnosticsDiagnostics

ConfigurationConfiguration

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

TextText

ServiceProcessServiceProcess

SecuritySecurity RuntimeRuntimeInteropServicesInteropServices

RemotingRemoting

SerializationSerialization

System.DataSystem.Data

DesignDesign

ADOADO

SQLTypesSQLTypes

SQLSQL

System.XmlSystem.Xml

XPathXPath

XSLTXSLT SerializationSerialization

.NET Framework .NET Framework – пакети– пакетиSystem.WebSystem.Web

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServices UIUIHtmlControlsHtmlControls

WebControlsWebControls

DescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols System.DrawingSystem.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.WinFormsSystem.WinForms

DesignDesign ComponentModelComponentModel

Page 23: Svetlin Nakov - .NET Framework Overview

Пакетите от Пакетите от Base Class LibraryBase Class Library

SystemSystem

ThreadingThreading

TextText

ServiceProcessServiceProcess

SecuritySecurity

ResourcesResources

ReflectionReflection

NetNet

IOIO

GlobalizationGlobalization

DiagnosticsDiagnostics

ConfigurationConfiguration

CollectionsCollections

RuntimeRuntime

SerializationSerialization

RemotingRemoting

InteropServicesInteropServices

Page 24: Svetlin Nakov - .NET Framework Overview

Base Class LibraryBase Class Library Типове данни, конвертиране, форматиранеТипове данни, конвертиране, форматиране КолекцииКолекции: : ArrayList, HashtableArrayList, Hashtable, , ...... ИнтернационализацияИнтернационализация: : култури, сортиранекултури, сортиране I/O: I/O: Бинарни и текстови потоци, файлове, ...Бинарни и текстови потоци, файлове, ... Мрежово програмиранеМрежово програмиране: TCP/IP, HTTP, : TCP/IP, HTTP, ...... Reflection: Reflection: метаданни и създаване на метаданни и създаване на MSILMSIL СигурностСигурност:: Криптография, права за достъп Криптография, права за достъп ТекстТекст:: Кодирания, регулярни изрази, ... Кодирания, регулярни изрази, ... Remoting Remoting ии Serialization: Serialization: отдалечено отдалечено

извикванеизвикване Многонишковост и синхронизацияМногонишковост и синхронизация

Page 25: Svetlin Nakov - .NET Framework Overview

Пакетите Пакетите Data Data ии XML XML

System.DataSystem.Data

SQLTypesSQLTypes

SQLClientSQLClient

CommonCommon

OleDbOleDb

System.XmlSystem.Xml

SerializationSerialization

XPathXPath

XSLTXSLT

Page 26: Svetlin Nakov - .NET Framework Overview

ADO.NET ADO.NET ии XML XML ADO.NET ADO.NET приема всякакви типове данниприема всякакви типове данни

XML (XML (йерархичнийерархични), ), релационнирелационни, , ......

Мощно кеширане в паметтаМощно кеширане в паметта (DataSet) (DataSet) DataSet DataSet може да съдържа различни обектиможе да съдържа различни обекти: :

таблицитаблици, , изгледиизгледи, , релациирелации, constraints, , constraints, ...... Лек,Лек, stateless, disconnected stateless, disconnected модел модел Вградено поддържа релационен и Вградено поддържа релационен и XML XML достъпдостъп

Високоскоростен поточно-ориентиран Високоскоростен поточно-ориентиран достъп до даннитедостъп до данните

Сериозна поддръжка на Сериозна поддръжка на XML: XML: W3C DOM, XSL/T, XPathW3C DOM, XSL/T, XPath и и XSchema XSchema

Page 27: Svetlin Nakov - .NET Framework Overview

VS.NET – DataSet VS.NET – DataSet редакторредактор

Page 28: Svetlin Nakov - .NET Framework Overview

Пакетите от Пакетите от Windows FormsWindows Forms

System.DrawingSystem.Drawing

Drawing2DDrawing2D

ImagingImaging

PrintingPrinting

TextText

System.Windows.FormsSystem.Windows.Forms

DesignDesign ComponentModelComponentModel

Page 29: Svetlin Nakov - .NET Framework Overview

Windows FormsWindows Forms Windows Forms е framework за създаване

на приложения с прозоречно-базиран графичен потребителски интерфейс RAD (Rapid Application Development)

Component-based Event-driven

Богат набор от контроли Data-aware компоненти Поддръжка на печатане Вградена поддръжка на Unicode Позволява наследяване на потребителски

интерфейс

Page 30: Svetlin Nakov - .NET Framework Overview

VS.NET – Windows Forms VS.NET – Windows Forms редакторредактор

Page 31: Svetlin Nakov - .NET Framework Overview

Demo 1Demo 1

Създаване на просто Създаване на просто приложение за достъп приложение за достъп до база от данни чрездо база от данни чрез::

Windows FormsWindows Forms ADO.NETADO.NET MS SQL ServerMS SQL Server Visual Studio .NETVisual Studio .NET

Page 32: Svetlin Nakov - .NET Framework Overview

DataGridDataGrid DataSetDataSet

DatabaseDatabase

Microsoft Microsoft SQL ServerSQL Server

SqlConnectionSqlConnection

SqlDataAdapterSqlDataAdapter

FillFill UpdateUpdate

Demo 1 – Demo 1 – архитектураархитектура

ApplicationApplication

Page 33: Svetlin Nakov - .NET Framework Overview

Пакетите от Пакетите от ASP.NETASP.NET

System.WebSystem.Web

CachingCaching

ConfigurationConfiguration

ServicesServices UIUI

SessionStateSessionState

HtmlControlsHtmlControls

WebControlsWebControls

DescriptionDescription

DiscoveryDiscovery

SecuritySecurity

ProtocolsProtocols

Page 34: Svetlin Nakov - .NET Framework Overview

Framework Framework за създаване на за създаване на Web-Web-базирани базирани приложения и приложения и WebWeb-услуги на всеки -услуги на всеки .NET.NET език език

C#, C++, VB.NET, C#, C++, VB.NET, JScriptJScript, , ......

Поддържа на различни клиентиПоддържа на различни клиенти DHTML, HTML 3.2, WML, DHTML, HTML 3.2, WML, мобилни устройствамобилни устройства

ASP.NET WebASP.NET Web-приложенията се -приложенията се компилират до компилират до assembliesassemblies

Кешират се при първо извикване и след това Кешират се при първо извикване и след това се изпълняват от кеша веднагасе изпълняват от кеша веднага

Има разделяне на кода от Има разделяне на кода от WebWeb-дизайна-дизайна Програмистите и дизайнерите могат да работят Програмистите и дизайнерите могат да работят

независимонезависимо

ASP.NETASP.NET

Page 35: Svetlin Nakov - .NET Framework Overview

ASP.NETASP.NET

Богат набор отБогат набор от ASP.NET server ASP.NET server контроликонтроли Валидация на даннитеВалидация на данните DataData--bound gridsbound grids

Event-driven Event-driven модел за изпълнениемодел за изпълнение Отлична поддръжка на Отлична поддръжка на Web-Web-услугиуслуги Лесно внедряване (Лесно внедряване (deployment)deployment) Висока надеждностВисока надеждност Висока производителност и скалируемостВисока производителност и скалируемост Скалируемо управление на информацията Скалируемо управление на информацията

за състоянието (за състоянието (session statesession state managementmanagement))

Page 36: Svetlin Nakov - .NET Framework Overview

VS.NET – Web Forms VS.NET – Web Forms редакторредактор

Page 37: Svetlin Nakov - .NET Framework Overview

ASP.NET ASP.NET WebMatrixWebMatrix

Page 38: Svetlin Nakov - .NET Framework Overview

Demo 2Demo 2

Създаване на просто Създаване на просто WebWeb--базирано приложение за базирано приложение за достъп до база данни чрез:достъп до база данни чрез:

ASP.NET (Web Forms)ASP.NET (Web Forms) ADO.NETADO.NET MS SQL ServerMS SQL Server MS Internet Information ServerMS Internet Information Server Visual Studio .NETVisual Studio .NET

Page 39: Svetlin Nakov - .NET Framework Overview

DataGridDataGrid DataSetDataSet

DatabaseDatabase

Microsoft Microsoft SQL ServerSQL Server

SqlConnectionSqlConnection

SqlDataAdapterSqlDataAdapter

FillFill UpdateUpdate

Demo 2 – Demo 2 – архитектураархитектура

Web ApplicationWeb Application

Page 40: Svetlin Nakov - .NET Framework Overview

WebWeb-услуги-услуги WebWeb-услугите са програмни компоненти, -услугите са програмни компоненти,

достъпни отдалечено през достъпни отдалечено през WebWeb Използват стандартите Използват стандартите HTTP, XML HTTP, XML ии SOAP SOAP Имат стандартно описание на езика Имат стандартно описание на езика WSDLWSDL Извикват се с лекота от всеки клиент на всяка Извикват се с лекота от всеки клиент на всяка

платформаплатформа Моделът за изпълнение е “заявка-отговор” –Моделът за изпълнение е “заявка-отговор” –

прилича на компонентно-ориентираното прилича на компонентно-ориентираното програмиране, но работи през програмиране, но работи през WebWeb

ASP.NET ASP.NET –– лесен програмен модел за лесен програмен модел за разработка на разработка на WebWeb-услуги-услуги ПишемПишем .ASMX .ASMX файлове с обикновени класове и файлове с обикновени класове и

методи в тяхметоди в тях ASP.NET ASP.NET ги компилира при поискване, генерира ги компилира при поискване, генерира

им им WSDL WSDL и създава им тестова страницаи създава им тестова страница

Page 41: Svetlin Nakov - .NET Framework Overview

Web Service – Web Service – пример на пример на C#C#ParcelTracker.asmxParcelTracker.asmxParcelTracker.asmxParcelTracker.asmx

<%@ WebService Language="C#" %><%@ WebService Language="C#" %>using System;using System;using System.Web.Services;using System.Web.Services;

public class ParcelTrackerWebServicepublic class ParcelTrackerWebService{{ [WebMethod][WebMethod] public string GetOrderStatus(int orderNumber)public string GetOrderStatus(int orderNumber) {{ // Implementation here// Implementation here // return some_result;// return some_result; }}}}

<%@ WebService Language="C#" %><%@ WebService Language="C#" %>using System;using System;using System.Web.Services;using System.Web.Services;

public class ParcelTrackerWebServicepublic class ParcelTrackerWebService{{ [WebMethod][WebMethod] public string GetOrderStatus(int orderNumber)public string GetOrderStatus(int orderNumber) {{ // Implementation here// Implementation here // return some_result;// return some_result; }}}}

Page 42: Svetlin Nakov - .NET Framework Overview

Demo 3Demo 3

Създаване на проста Създаване на проста WebWeb-услуга чрез-услуга чрез::

ASP.NET (Web Services)ASP.NET (Web Services) MS Internet Information ServerMS Internet Information Server Visual Studio .NETVisual Studio .NET

Page 43: Svetlin Nakov - .NET Framework Overview

Shared Source CLI (Rotor)Shared Source CLI (Rotor) Некомерсиална имплементация на Некомерсиална имплементация на CLI, CLI,

достъпна във вид на сорс-код. Съдържа:достъпна във вид на сорс-код. Съдържа: Среда за изпълнение на Среда за изпълнение на MSIL MSIL код (код (managed managed

execution environmentexecution environment) с ) с JIT-JIT-компилаторкомпилатор Компилатор за езиците Компилатор за езиците C#C# и и JScriptJScript Инструменти за разработка Инструменти за разработка – ilasm, ildasm, – ilasm, ildasm,

cordbg, metainfo, …cordbg, metainfo, …

Реализирана изцяло на Реализирана изцяло на C++C++ и и C# C# Компилира се Компилира се MS Visual Studio .NETMS Visual Studio .NET Достъпна за научни изследвания, Достъпна за научни изследвания,

образователна и учебна дейностобразователна и учебна дейност Работи подРаботи под FreeBSD FreeBSD,, Windows Windows и и Mac OS Mac OS

Page 44: Svetlin Nakov - .NET Framework Overview

.NET Framework – .NET Framework – ресурсиресурси WebWeb-сайтове-сайтове::

Официален сайт на Официален сайт на ..NET FrameworkNET Framework – – http://msdn.microsoft.com/netframework/http://msdn.microsoft.com/netframework/

Microsoft .NET Framework Community – Microsoft .NET Framework Community – http://www.gotdotnet.com/http://www.gotdotnet.com/

ASP.NET – ASP.NET – http://www.asp.net/http://www.asp.net/

.NET Windows Forms – .NET Windows Forms – http://www.windowsforms.net/http://www.windowsforms.net/

O’Reilly .NET Community Site – O’Reilly .NET Community Site – http://www.ondotnet.com/http://www.ondotnet.com/

Microsoft Patterns and Practices – Microsoft Patterns and Practices – http://msdn.microsoft.com/practices/http://msdn.microsoft.com/practices/

Code Project – Code Project – http://www.codeproject.net/http://www.codeproject.net/

Page 45: Svetlin Nakov - .NET Framework Overview

.NET Framework – Resources.NET Framework – Resources WebWeb-сайтове-сайтове::

Mono – Open Source .NET FrameworkMono – Open Source .NET Framework – – http://www.go-mono.org/http://www.go-mono.org/

Rotor – MS Shared Source .NET CLI – Rotor – MS Shared Source .NET CLI – http://msdn.microsoft.com/net/sscli/http://msdn.microsoft.com/net/sscli/

Курс по Курс по .NET Framework .NET Framework в Софийски в Софийски Университет Университет –– http://www.nakov.com/dotnet/http://www.nakov.com/dotnet/

НюзгрупиНюзгрупи:: Нюзгрупата на Нюзгрупата на .NET Framework – .NET Framework – news://news://

msnews.microsoft.commsnews.microsoft.com//microsoft.public.dotnet.frameworkmicrosoft.public.dotnet.framework

Българската нюзгрупа на Българската нюзгрупа на Microsoft –Microsoft –news://msnews.microsoft.com/microsoft.public.news://msnews.microsoft.com/microsoft.public.bg.developerbg.developer

Page 46: Svetlin Nakov - .NET Framework Overview

ВъпросиВъпроси??

Page 47: Svetlin Nakov - .NET Framework Overview

Моите въпроси към васМоите въпроси към вас

Можем ли да разработвамеМожем ли да разработваме .NET .NET Framework Framework приложения, който да приложения, който да се изпълняват върху мобилни се изпълняват върху мобилни устройства (мобилни телефони,устройства (мобилни телефони, PDA, handheld, …)?PDA, handheld, …)?

ОтговорОтговор:: Microsoft .NET Compact FrameworkMicrosoft .NET Compact Framework Той е стандартна част от Той е стандартна част от Microsoft Microsoft

Visual Studio .NET 2003Visual Studio .NET 2003

Page 48: Svetlin Nakov - .NET Framework Overview

Как можем да прекомпилираме Как можем да прекомпилираме предварително предварително .NET.NET assemblies assemblies за да ускорим изпълнението имза да ускорим изпълнението им? ? Има ли стандартен инструмент Има ли стандартен инструмент за товаза това??

ОтговорОтговор:: Чрез програмкатаЧрез програмката ngen.exengen.exe Тя е стандартна част отТя е стандартна част от .NET .NET

FrameworkFramework

Моите въпроси към васМоите въпроси към вас

Page 49: Svetlin Nakov - .NET Framework Overview

MSIL MSIL е изключително лесен за е изключително лесен за декомпилиранедекомпилиране. . Как можем да Как можем да защитим нашия защитим нашия .NET.NET код от код от reversereverse--engineering engineering атакиатаки? ?

ОтговорОтговор:: Чрез използване наЧрез използване на obfuscator obfuscator

за за .NET, .NET, например например DotfuscatorDotfuscator DotFuscatorDotFuscator се разпространява се разпространява

стандартно с стандартно с Visual Studio .NETVisual Studio .NET

Моите въпроси към васМоите въпроси към вас

Page 50: Svetlin Nakov - .NET Framework Overview

В един В един DataSet DataSet компонент от компонент от ADO.NETADO.NET може да има различни може да има различни типове обектитипове обекти?? Един такъв тип Един такъв тип обекти са таблиците. Кои са обекти са таблиците. Кои са другите?другите?

ОтговорОтговор:: Таблици, Таблици, View-View-та, релациита, релации и и

constraints (unique constraints (unique ии foreign key) foreign key)

Моите въпроси към васМоите въпроси към вас