Кратко съдържание



страница2/33
Дата23.07.2016
Размер10.53 Mb.
#1889
1   2   3   4   5   6   7   8   9   ...   33

Съдържание


Том 2

Кратко съдържание 2

Съдържание 16

Предговор към втория том 38

За кого е предназначена тази книга? 38

Необходими начални познания 38

Какво обхваща вторият том на тази книга? 39

Фокусът е върху .NET Framework 1.1 39

Как е представена информацията? 39

Поглед към съдържанието на втория том 40

Глава 15. Графичен потребителски интерфейс с Windows Forms 40

Глава 16. Изграждане на уеб приложения с ASP.NET 40

Глава 17. Многонишково програмиране и синхронизация 40

Глава 18. Мрежово и Интернет програмиране 41

Глава 19. Отражение на типовете (Reflection) 41

Глава 20. Сериализация на данни 41

Глава 21. Уеб услуги с ASP.NET 42

Глава 22. Отдалечено извикване на методи (Remoting) 42

Глава 23. Взаимодействие с неуправляван код 42

Глава 24. Управление на паметта и ресурсите 42

Глава 25. Асемблита и разпространение (deployment) 43

Глава 26. Сигурност в .NET Framework 43

Глава 27. Mono - свободна имплементация на .NET 43

Глава 28. Помощни инструменти за .NET разработчици 43

Глава 29. Практически проект 43

Авторският колектив 44

Александър Русев 44

Александър Хаджикръстев 44

Антон Андреев 44

Бранимир Ангелов 45

Васил Бакалов 45

Виктор Живков 45

Деян Варчев 45

Димитър Бонев 46

Димитър Канев 46

Галин Илиев 46

Георги Пенчев 46

Иван Митев 46

Ивайло Димов 47

Ивайло Христов 47

Лазар Кирчев 47

Манол Донев 47

Мартин Кулов 48

Михаил Стойнов 48

Моника Алексиева 48

Николай Недялков 48

Панайот Добриков 49

Преслав Наков 49

Радослав Иванов 49

Рослан Борисов 50

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

Стефан Добрев 50

Стефан Кирязов 50

Стефан Захариев 51

Стоян Дамов 51

Тодор Колев 51

Христо Дешев 51

Христо Радков 52

Цветелин Андреев 52

Явор Ташев 52

Благодарности 52

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

Авторският колектив 53

Българска асоциация на разработчиците на софтуер 53

Microsoft Research 53

SciForge.org 53

Софийски университет "Св. Климент Охридски" 53

telerik 54

Сайтът на книгата 54

Лиценз 54

Общи дефиниции 54

Права и ограничения на потребителите 55

Права и ограничения на авторите 55

Права и ограничения на БАРС 55

Права и ограничения на Microsoft Research 55



Глава 15. Изграждане на графичен потребителски интерфейс с Windows Forms 57

Автори 57

Необходими знания 57

Съдържание 57

В тази тема ... 58

Какво е Windows Forms? 59

Windows Forms е базирана на RAD концепцията 59

Windows Forms и другите библиотеки за изграждане на GUI 59

Контролите в Windows Forms 60

Windows Forms и работа с данни 60

Вградена поддръжка на Unicode 61

Наследяване на форми и контроли 61

ActiveX контроли 61

Печатане на принтер 61

Windows Forms контроли в Internet Explorer 61

Силна поддръжка на графика (GDI+) 62

Нашето първо Windows Forms приложение 62

Библиотеките на .NET за изграждане на GUI 63

Пространството System.Windows.Forms 64

Пространството System.Drawing 64

Програмни компоненти 64

Компонентен модел 64

Компонентният модел на .NET Framework 65

Компоненти и контейнери 65

Преизползваемост на компонентите 65

Пространството System.ComponentModel 65

Windows Forms и компонентният модел на .NET 65

Контроли и контейнер-контроли 65

Програмен модел на Windows Forms 66

Форми 66


Контроли 66

Събития 66

Жизнен цикъл на Windows Forms приложенията 66

Модел на пречертаване на контролите 68

Управление на фокуса и навигация 69

Основни класове в Windows Forms 70

Йерархия на класовете 70

Класът Control 71

Свойства на класа Control 71

Методи на класа Control 73

Събития на класа Control 73

Класът ScrollableControl 74

Класът ContainerControl 75

Форми, прозорци и диалози 75

Класът System.Windows.Forms.Form 75

По-важни свойства на класа Form 75

По-важни методи на класа Form 77

По-важни събития на класа Form 77

Основни контроли в Windows Forms 78

TextBox 78

Label 78

Button 78

Поставяне на контроли във формата 78

Управление на събитията 79

Прост калкулатор – пример 79

Windows Forms редакторът на VS.NET 82

Създаване на форма 82

Добавяне на контрола 83

Добавяне на неграфични компоненти 83

Настройка на свойства 84

Добавяне на обработчици на събития 84

Създаване на калкулатор с Windows Forms редактора на VS.NET – пример 85

Диалогови кутии 87

Стандартни диалогови кутии 87

Извикване на диалогови кутии 88

DialogResult и предаване на данни между диалози – пример 88

Други Windows Forms контроли 90

CheckBox 90

RadioButton 90

Panel 91


TabControl и TabPage 91

ListBox 91

CheckedListBox 92

ComboBox 92

TreeView 92

RichTextBox 93

LinkLabel 93

PictureBox 93

Работа с някои Windows Forms контроли – пример 94

Менюта 97

MainMenu 97

ContextMenu 97

MenuItem 97

Ленти с инструменти 98

ToolBar 98

ToolBarButton 98

ImageList 98

Статус ленти 99

StatusBar 99

StatusBarPanel 99

Диалог за избор на файл 99

OpenFileDialog 99

SaveFileDialog 100

Работа с файлов диалог – пример 100

MDI приложения 101

MDI контейнери (MDI parents) 101

MDI форми (MDI children) 102

Създаване на многодокументов текстов редактор – пример 102

Валидация на данни 112

Валидация на данни – пример 113

Свързване на данни 118

Източници на данни 119

Контроли, поддържащи свързване на данни 119

Видове свързване 119

Просто свързване 119

Сложно свързване 127

Контролата DataGrid 129

Работа с DataGrid контролата – пример 130

TableStyles и дефиниране на стилове – пример 131

Master-Details навигация 134

Master-Details навигация – пример 134

Проблеми при Master-Details навигацията 137

Релации "много към много" 137

Наследяване на форми 138

Наследяване на форми – пример 139

Пакетът System.Drawing и GDI+ 142

Класът Graphics 143

Работа със System.Drawing – пример 143

Анимация със System.Drawing – пример 144

Печатане на принтер 146

Потребителски контроли 147

Създаване на нова контрола, която не наследява съществуваща 147

Създаване на нова контрола като комбинация от други контроли 147

Създаване на нова контрола, която наследява съществуваща контрола 147

Създаване на контрола – пример 148

Хостинг на контроли в Internet Explorer 152

Хостинг на контроли в Internet Explorer – пример 152

Нишки и Windows Forms 155

Използване на нишки в Windows Forms приложения – пример 156

Влачене (Drag and Drop) 160

Влачене и пускане в Windows Forms – пример 160

Конфигурационен файл на приложението 162

Извличане на настройки от конфигурационен файл – пример 162

Упражнения 163

Използвана литература 166

Глава 16. Изграждане на уеб приложения с ASP.NET 167

Автори 167

Необходими знания 167

Съдържание 167

В тази тема ... 168

Въведение 169

Изпълнение на ASP.NET уеб приложение 169

Преглед на технологията ASP.NET 169

Разлики между ASP и ASP.NET 170

Фундаменти на ASP.NET 170

Как работи ASP.NET? 171

Разделяне на визуализация от бизнес логика 172

Компоненти на ASP.NET 173

Пример за уеб приложение 173

ASP.NET Web Application проекти във VS.NET 175

Модел на изпълнение на ASP.NET 176

Уеб форми 177

Какво е уеб форма (Web Form)? 177

Създаване на уеб форма 177

Директиви 178

Директивата <@Page …> 178

Атрибути на директивата <@Page …> 179

Тагът

179

Вградени обекти в ASP.NET 180

Уеб контроли 180

ASP.NET сървърни контроли 180

HTML сървърни контроли (HTML server controls) 181

Уеб сървърни контроли (Web server controls) 184

Кои контроли да ползваме? 184

Категории уеб сървърни контроли 185

Code-behind 187

Добавяне на код в уеб форма 188

Inline code 188

Code-behind класове 188

Как работи code-behind? 188

JIT компилация 189

Събития 189

Прихващане на събития 189

Свойството AutoEventWireup 190

Жизнен цикъл на ASP.NET страниците 190

Свойството IsPostBack 191

Свойството AutoPostBack 191

HTML escaping проблеми 192

HTML escaping проблеми – пример 192

Свързване с данни (Data binding) 194

Как работи методът DataBind(…)? 194

Свързване на контроли с данни – пример 195

Работа с бази от данни от ASP.NET 201

Обзор на ADO.NET 201

Визуализиране на данни 202

Свързване на данни (data binding) 202

Контроли за показване на данни 204

Списъчни контроли 204

Итериращи контроли 210

Управление на състоянието 218

Бисквитки (Cookies) 218

Скрити полета 220

Параметризирани адреси (Query Strings) 221

Технологията ViewState 222

Състояние на приложението 224

Състояние на сесиите 226

Валидация на данни 228

RequiredFieldValidator – проверка за наличие на данни 229

CompareValidator – проверка на входните данни 229

RangeValidator – проверка попадане в интервал 231

RegularExpressionValidator – сравняване с регулярен израз 231

CustomValidator – произволна проверка 232

ValidationSummary – списък на грешките 234

Йерархия на класовете валидатори 235

Общи свойства за валидаторите 235

Кога и къде се извършва валидацията? 236

Защо винаги на сървъра? 236

Особености при валидацията при клиента 237

Потребителски контроли 237

Потребителски контроли и уеб форми 237

Предимства при използването на потребителски контроли 238

Споделяне на потребителски контроли 238

Използване на потребителски контроли 238

Създаване на потребителска контрола – пример 238

Проследяване и дебъгване на уеб приложния 241

Информация по време на изпълнение 241

Проследяване 242

Отдалечено дебъгване 244

Оптимизация, конфигурация и разгръщане на ASP.NET приложения 245

Оптимизиране чрез кеширане 245

Конфигуриране на ASP.NET приложение 249

Разгръщане на приложението 252

Сигурност в ASP.NET 254

Автентикация и оторизация 254

Видове автентикация в ASP.NET 255

Сигурност на ниво сървър (IIS Security) 262

Упражнения 264

Използвана литература 266

Глава 17. Многонишково програмиране и синхронизация 269

Автори 269

Необходими знания 269

Съдържание 269

В тази тема ... 270

Многозадачност 271

Проблемът 271

Ползите от многозадачността 271

Защо е нужна многозадачност – пример 271

Решението – процеси и нишки 273

Процеси и нишки 273

Какво предлагат нишките? 273

Кога са удобни нишките? 274

Многозадачност – видове 274

Имплементации на многозадачност 275

Домейни на приложението (Application Domains) 275

Нишки 276

Как работят нишките? 276

Класът Thread 279

Приоритет 284

Състояния 284

Живот на нишките 285

Прекратяване на нишка 286

Thread Local Storage (локални за нишката данни) 290

Thread-Relative Static Fields (статични полета, свързани с нишката) 292

Неудобства при работата с нишки 294

Проблеми при работа с общи данни 294

Синхронизация 296

Най-доброто решение за общите данни 296

Синхронизирани "пасажи" код (synchronized code regions) 296

Синхронизирани контексти (Synchronized Contexts) 300

MethodImplAttribute 302

Неуправлявана синхронизация – класът WaitHandle 302

Класът Mutex 303

Класовете AutoResetEvent и ManualResetEvent 305

Класът Interlocked 308

Класически синхронизационни задачи 309

Пул от нишки (ThreadPool) 313

Предимства 313

Недостатъци 313

Класът ThreadPool 314

Методът ThreadPool.RegisterWaitForSingleObject() 315

Интерфейсът ISynchronizeInvoke 316

Използване на ISynchronizeInvoke 317

Windows Forms и ISynchronizeInvoke 318

Таймери 318

System.Timers.Timer 319

System.Threading.Timer 321

System.Windows.Forms.Timer 323

Как да изберем таймер? 323

Volatile полета 323

Асинхронни извиквания 324

Какво е асинхронно извикване? 324

Къде се ползва асинхронно извикване? 324

Асинхронно извикване чрез делегат 325

Модел за асинхронно програмиране 326

Сигнатура на методите за асинхронни извиквания 326

Интерфейсът IAsyncResult 326

Проверка за приключване на асинхронното извикване 327

Упражнения 330

Използвана литература 331

Глава 18. Мрежово и Интернет програмиране 332

Автори 332

Необходими знания 332

Съдържание 332

В тази тема ... 333

OSI модел 333

Физическо ниво 334

Свързващо ниво (канално ниво) 334

Мрежово ниво 334

Транспортно ниво 334

Сесийно ниво 334

Представително ниво 334

Приложно ниво 334

Основи на мрежовото програмиране 334

IP адрес 334

Domain Name Service (DNS) 335

Порт 335

Основни мрежови услуги 335

Мрежов интерфейс 336

Loopback интерфейс 336

Протоколът TCP 336

Протоколът UDP 336

Как две отдалечени машини си "говорят"? 336

Класове за мрежово програмиране в .NET 337

Пространството System.Net.Sockets 337

Пространството System.Net 338

Представяне на IP адреси в .NET Framework 339

Класът IPAddress 339

Класът IPEndPoint 340

Комуникация по TCP сокет с TcpClient 341

Създаване и свързване на TcpClient 341

Създаване на прост TCP порт скенер – пример 343

Предаване на данни по TCP сокет чрез TcpClient и NetworkStream 344

Комуникация с TcpClient – пример 347

Настройки на TCP връзката чрез свойствата на TcpClient 351

Изграждане на TCP сървър с TcpListener 351

Създаване на TcpListener 351

Приемане на TCP връзки 352

Прост TCP сървър – пример 353

Обслужване на много клиенти едновременно 355

Едновременно обслужване на клиенти с TcpListener – пример 356

Комуникация по UDP с UdpClient 362

Конструктори на UdpClient 363

Задаване на отдалечен сървър по подразбиране 363

Изпращане на UDP пакети – метод Send(…) 363

Получаване на UDP пакети – метод Receive(…) 364

Комуникация с UdpClient – пример 365

Сокети на по-ниско ниво – класът Socket 366

Създаване на Socket обекти и тип на сокета 367

Основни операции с класа Socket 367

Свойства на сокетите и задаване на опции 374

Сокет по протокол UDP 375

Няколко думи за асинхронните сокети 380

Свойството Blocking 381

Асинхронни методи 381

Методите Poll(…) и Select(…) 382

Multicasting в .NET Framework 383

Broadcasting сокети 383

Multicasting сокети 383

Използване на DNS услуги чрез класа Dns 385

Асинхронни DNS заявки 386

Работа с уеб ресурси – класът WebClient 386

Извличане на данни по HTTP 386

Изпращане на данни по HTTP 390

Автентикация с Credentials 391

Други полезни свойства на WebClient 392

HTTP заявки с класовете HttpWebRequest и HttpWebResponse 392

Създаване на HHTP заявка 392

Изпращане на данни към HTTP сървър 393

Получаване на HTTP отговор 393

Извличане на Cookies 394

Други видове WebRequest и WebResponse 395

Работа с HTTP заявки – пример 395

Работа с електронна поща 396

Протоколи за изтегляне на електронната поща 397

Изтегляне на електронната поща с .NET Framework 397

Изпращане на електронна поща 397

Изпращане на електрона поща с .NЕТ Framework 398

Упражнения 403

Използвана литература 404



Глава 19. Отражение на типовете (Reflection) 408

Автор 408

Необходими знания 408

Съдържание 408

В тази тема ... 408

Какво е Global Assembly Cache? 409

Инсталиране на асемблита в GAC 409

Поддръжка на много версии 410

Преглед на GAC през Windows Explorer 410

Преглед на GAC през Administrative Tools 412

Отражение на типовете 414

Какво е Reflection? 414

Зареждане на асемблита 414

Извличане информация за асембли 415

Премахване на асемблита от паметта 417

Изучаване на типовете в асембли 417

Reflection класове за видовете членове 421

Извличане на методи и параметрите им 422

Reflection Emit 428

Упражнения 432

Използвана литература 433

Глава 20. Сериализация на данни 434

Автор 434

Необходими знания 434

Съдържание 434

В тази тема ... 435

Сериализация 436

Какво е сериализация (serialization)? 436

Какво е десериализация (deserialization)? 436

Кога се използва сериализация? 436

Защо да използваме сериализация? 437

Кратък пример за сериализация? 437

Форматери (Formatters) 438

Процесът на сериализиране 439

Кратък пример за сериализация 439

Кратък пример за десериализация 440

Бинарна сериализация – пример 441

Сериализация по мрежата – пример 444

Дълбоко копиране на обекти – пример 450

IDeserializationCallback 453

ISerializable и контролиране на сериализацията 456

За ефективността на сериализацията 462

XML сериализация 462

Какво е XML сериализация? 462

XML сериализация – пример 462

Проста XML сериализация – пример 463

Контролиране на изходния XML 465

Контрол на XML сериализацията – пример 466

Външен контрол на XML сериализацията 470

Външен контрол на сериализацията – пример 470

Приложение: FormatterServices 472

Методи за сериализация 472

Методи за десериализация 473

Упражнения 473

Използвана литература 474



Глава 21. Уеб услуги с ASP.NET 475

Автори 475

Необходими знания 475

Съдържание 475

В тази тема ... 476

Възникването на уеб услугите 477

Разпределени приложения 477

Модели за разпределени приложения 477

Нуждата от уеб услуги 478

Уеб услуги 479

Какво е услуга? 479

Какво е уеб услуга? 480

Принцип на действие на уеб услугите 480

Инфраструктура на уеб услугите 481

Директории за уеб услуги 483

Откриване на уеб услуги 484

WSDL описания на услуги 485

SOAP – формат на заявките 489

Протоколен стек на уеб услугите 492

Сценарии за използване на уеб услугите 494

Доставяне на данни 494

Услуги към клиентски приложения 494

Интеграция на приложения 494

В ролята на адаптери 495

Връзка между отделните компоненти на Enterprise приложения 495

Enterprise приложения 496

Кои приложения са Enterprise? 496

.NET Enterprise приложения 496

Уеб услугите в ASP.NET 499

Пространства от имена 499

Архитектура на ASP.NET уеб услугите 500

Създаване на уеб услуги 501

Уеб услугите и уеб приложенията 501

Публикуване на уеб услуги 502

Използване на уеб услуги 509

Уеб услугите и VS.NET – създаване и консумиране 512

Атрибути за уеб услугите 515

Прехвърляне на типове (marshalling) 517

Дебъгване на уеб услуги 525

Моделът на изпълнение на уеб услугите в ASP.NET 525

Асинхронно извикване на уеб услуги 527

Уеб услуги и работа с данни 529

Поддръжка на сесии 533

Сигурност на уеб услугите 537

Изключенията в уеб услугите 542

Упражнения 553

Използвана литература 555

Глава 22. Отдалечени извиквания с .NET Remoting 556

Автор 556

Необходими знания 556

Съдържание 556

В тази тема ... 556

Разпределени приложения 557

Какво е .NET Remoting? 557

Кога се използва Remoting? 557

Microsoft Indigo (WCF) 558

Remoting инфраструктурата 558

Как работи Remoting инфраструктурата? 558

Remoting канали 559

Форматери (formatters) 560

Активация на обекти 561

Регистрация на отдалечен обект 562

Създаване на инстанция на отдалечен обект 564

Маршализация (Marshaling) 565

Живот на обектите (Lifetime) 567

Remoting конфигурационни файлове 573

Remoting сценарии 582

Чиста мрежова комуникация 584

XML уеб услуги 584

.NET Remoting 584

Remoting сървър и клиент – пример 584

Създаване на общите типове 585

Създаване на сървър 587

Създаване на клиент 588

Сървърът и клиентът в действие 590

Проблемът с общите типове 593

Споделено асембли с типове 593

Споделено асембли с интерфейси 593

Soapsuds.exe 593

Хостинг на Remoting типове в IIS 593

Упражнения 594

Използвана литература 594

Глава 23. Взаимодействие с неуправляван код 596

Автор 596

Необходими знания 596

Съдържание 596

В тази тема ... 597

Какво разбираме под взаимодействие с неуправляван код? 598

Обща среда или виртуална машина 598

Среда за контролирано изпълнение .NET CLR (обща среда) 598

Виртуална машина JVM 599

Платформено извикване (P/Invoke) 600

Атрибут DllImport 601

Как работи P/Invoke? 604

Командата DUMPBIN 604

Зареждане на системна икона – пример 605

Преобразуване на данни (marshalling) 607

Преобразуване на структури 608

Разполагане на полетата от структурата 608

Преобразуване на класове 609

Преобразуване на низове 610

Атрибут MarshalAs 611

Имплементиране на функция за обратно извикване (callback) 612

Преобразуване на данни – пример 613

Взаимодействие с COM (COM interop) 617

Какво е COM? 617

Видове COM обекти и регистрация 618

Структура на COM обектите 618

Извикване на COM обект от управляван код 619

Разкриване на .NET компонент като COM обект 624

Взаимодействие със C++ чрез IJW 628

IJW извикване от C++ – пример 629

Препоръки за използване на .NET типове от COM 629

Immutable ли са наистина символните низове? 631

Използване на броячи за производителност и CLRSpy – пример 632

Упражнения 635

Използвана литература 635

Глава 24. Управление на паметта и ресурсите 637

Автори 637

Необходими знания 637

Съдържание 637

В тази тема... 638

Управление на паметта при различните езици и платформи 639

Ръчно управление на паметта и ресурсите 639

Предимства и недостатъци на ръчното управление на паметта и ресурсите 641

Управление на паметта в .NET Framework 642

Предимства и недостатъци на автоматичното управление на паметта 643

Как се заделя памет в .NET? 645

Как работи garbage collector? 647

Поколения памет 650

Блок памет за големи обекти 654

Увеличаване размера на хийпа 655

Финализацията на обекти в .NET 655

Какво е финализация? 655

Деструкторите в C# 656

Финализация – пример 657

Зад кулисите 658

Опашката Freachable 659

Накратко за финализацията 660

Тъмната страна на финализацията 660

Какво да правим все пак? 661

Съживяване на обекти 661

Ръчно управление на ресурсите с IDisposable 663

Интерфейсът IDisposable 663

Операторът using 664

IDisposable и Finalize 665

Примерна имплементация на базов клас, обвиващ неуправляван ресурс 666

Close() и експлицитна имплементация на IDisposable 672

Кога да извикваме IDisposable.Dispose()? 673

Взаимодействие със системата за почистване на паметта 673

Почистване на паметта 673

Потискане на финализацията 676

Изчакване до приключване на финализацията 677

Регистриране на обекта за финализация 677

Определяне поколението на обект 677

Pinning 677

Удължаване живота на променливите при Interop 678

Слаби референции 681

Ефективно използване на паметта 682

Техниката "пулинг на ресурси" 693

Примерна имплементация на пул от ресурси 694

Упражнения 699

Използвана литература 700



Глава 25. Асемблита и разпространение 701

Автор 701

Необходими знания 701

Съдържание 701

В тази тема... 702

Асемблитата в .NET Framework 703

Асемблитата съдържат IL код за изпълнение 703

Асемблитата формират граница за сигурността (security boundary) 703

Асемблитата формират граница за типовете (type boundary) 703

Асемблитата формират граница на видимостта (reference scope boundary) 704

Асемблитата формират граница на версиите (version boundary) 704

Асемблитата са единица за споделяне 704

Асемблитата са единици за разпространение (deployment units) 704

Метаданни и манифест на асембли 704

Манифест на асембли 705

Съдържание на манифеста 705

Атрибути за работа с манифест 706

Създаване на многомодулно асембли 708

Разглеждане на манифеста на асембли с ildasm 710

Силно именуване на асембли 712

Конфигурационни файлове в .NET Framework 714

Как CLR намира асемблитата? 716

Пример 1: Търсене на асембли (probing) 716

Пример 2: Търсене на асембли с тага 717

Създаване на Publisher Policy File 718

Global Assembly Cache 719

DLL адът (DLL Hell) 719

Side-by-side execution 719

Предимства и недостатъци на GAC 720

Работа с GAC – пример 721

Разпространение и инсталиране на програмни пакети 721

Файлове и папки 722

Асемблита 724

Инсталационни компоненти 726

COM базирани обекти 727

Сървърни компоненти (Serviced Components) 727

Настройки на Internet Information Server (IIS) 728

Промяна на регистрите на Windows 732

Споделени инсталационни компоненти (Merge Modules) 732

CAB файлове 732

Локализиране 733

Debug Symbols 734

Инсталационни стратегии 735

No-Touch Deployment (.NET Zero Deployment) 735

Windows Installer 738

Колекция от файлове след компилация 745

Създаване на MSI инсталационен пакет 747

Създаване на инсталационен пакет на Windows базирано приложение 748

Създаване на инсталационен пакет на уеб услуга 758

Допълнителни настройки на инсталационните проекти във VS.NET 2003 759

Инсталиране/деинсталиране на MSI пакетите 760

Упражнения 762

Използвана литература 762

Глава 26. Сигурност в .NET Framework 764

Автори 764

Необходими знания 764

Съдържание 764

В тази тема ... 765

Сигурността в .NET Framework 766

Безопасност на типовете 766

Проблемът "Buffer overrun" 766

Защита на паметта 767

Прихващане на аритметични грешки 767

Application Domains 769

Основни криптографски понятия 769

Силно-именувани асемблита 772

Технологията Isolated Storage 774

Сигурност на кода (Code Access Security) 774

Политиките за сигурност в .NET Framework 775

Права (Permissions) 776

"Stack Walk" и контрол над правата 777

Декларативно и програмно искане на права 778

Сигурност базирана на роли (Role-Based Security) 780

Автентикация и оторизация 780

Класовете Identity и Principal 780

Работа с WindowsIdentity и WindowsPrincipal 780

Информация за текущия потребител – пример 781

Работа с GenericIdentity и GenericPrincipal 781

Оторизация по Principal обект 782

Оторизация с потребители и роли – пример 784

Криптография в .NET Framework 786

Извличане на хеш стойност 786

Симетрични криптиращи схеми 788

Асиметрични криптиращи схеми 791

Работа с цифрови подписи 794

XML подписи 796

Упражнения 805

Използвана литература 806

Глава 27. Mono – свободна имплементация на .NET Framework 808

Автори 808

Необходими знания 808

Съдържание 808

В тази тема... 809

Проектът Mono 810

Значение на проекта 810

Статус на проекта 810

Поддържани операционни системи и архитектури 810

Инсталиране и конфигуриране на Mono 811

Инсталиране на Mono върху Linux дистрибуции 811

Инсталиране на Mono под Windows 813

Инсталиране на Mono под Mac OS X 814

Инсталиране на Mono под FreeBSD 814

Среди за разработка 815

MonoDevelop 815

Eclipse 816

Emacs и Vim 816

X-Develop 816

KDevelop 817

Какво включва Mono? 817

Виртуална машина 817

Компилатор за C# – mcs 818

Mono gmcs 819

Visual Basic .NET компилатор – mbas 819

Mono асемблер и дизасемблер – ilasm и monodis 819

Mono дебъгерът – mdb 819

Документацията Monodoc 820

Mono класовете 821

Полезни инструменти 822

‘Hello Mono’ с Mono 822

Сорс кодът 822

Компилиране 823

Стартиране 823

Дизасемблиране 823

Дебъгване с mdb – Hello Mono ред по ред 824

ADO.NET и Mono 825

Npgsql – Data Provider за PostgreSQL 825

MySQL Data Provider 827

OracleClient – The Oracle Data Provider 828

SqlClient – Data Provider за Microsoft SQL Server 828

Уеб технологиите в Mono 829

ASP.NET под Mono 829

Уеб услуги 833

Графични интерфейси в Mono 836

Windows Forms 837

Gtk# 838

Glade# 839

Gnome# 845

QT# 845


Cocoa# за Mac OS 845

Как да пишем преносим код? 845

Програмиране на игри и Tao Framework 847

Tao Framework 847

SDL.NET 847

AXIOM 848

Java, Python, PHP и Mono 848

Java за .NET CLR 848

Python и PHP под Mono 849

Упражнения 849

Полезни Mono ресурси 849

Използвана литература 850



Глава 28. Помощни инструменти за .NET разработчици 851

Автори 851

Необходими знания 851

Съдържание 851

В тази тема ... 851

Помощни инструменти за разработка 852

.NET Reflector 852

Функции 852

Разширяемост 854

FxCop 855

Правила в FxCop 855

FxCop – графично приложение 856

FxCopCmd – приложение за командния ред 858

Ползи от употребата на FxCop 858

Използвана литература 859

CodeSmith 859

Генериране на код 859

Въведение в шаблоните на CodeSmith 861

CodeSmith приложения 863

Използвана литература 865

NUnit 865

Какво е автоматизиран unit тест? 865

Писане на тестове с Nunit 866

Изпълнение на тестовете 869

Характеристики на добрите тестове 870

Какво да тестваме като програмисти? 871

Улесняване на тестването 872

Mock обекти (Mock objects) 873

Работа с NMock 874

Разширения на NUnit 875

Използвана литература 878

Log4net 879

За техниката "логинг" 879

Предизвикателствата пред log4net 879

Компоненти на log4net 880

Други характеристики на log4net 883

log4net – пример 884

Използвана литература 888

NHibernate 888

Взаимодействие между обекти и релационни СУБД 888

ADO.NET и силно типизирани DataSets 889

Обектно-релационен преход 889

Демонстрационен пример с NHibernate 891

Помощни инструменти за NHibernate 896

Други възможности 896

Използвана литература 896

NAnt 896

Защо ни е нужен NAnt? 896

Основни функции 897

Основни понятия 897

Изпълнение на NAnt скриптове 898

Конфигурация на скриптовете 899

Организация на сложни скриптове 900

Интеграция с Microsoft Visual Studio.NET 901

Интеграция с NUnit 902

Използвана литература 903

Други помощни средства 903

NDoc 903


GhostDoc 903

Snippet Compiler 904

ASP.NET Web Matrix 904

Tree Surgeon 904

NDepend 904

CruiseControl.NET 904

Портали за инструменти 905

Упражнения 905



Глава 29. Практически проект 909

Автори 909

Необходими знания 909

Съдържание 909

В тази тема ... 910

Система за запознанства в Интернет – визия 911

Какво е функционална спецификация? 911

Функционални възможности на системата за запознанства 911

Функционални възможности на ASP.NET уеб приложението 912

Функционални възможности на Windows Forms клиентското приложение 914

Нефункционални изисквания към системата за запознанства по Интернет 915

Архитектура на системата 915

Имплементация на системата 916

Слой за данни 917

Бизнес слой – ASP.NET уеб услугата 921

Имплементация на ASP.NET уеб услугата 923

Клиентски слой – Windows Forms GUI приложение 929

Имплементация на Windows Forms клиента 930

Клиентски слой – ASP.NET уеб приложението 940

Имплементация на ASP.NET уеб приложението 943

Инсталиране и внедряване на системата 959

Системни изисквания 959

От къде да изтеглим системата и сорс кода й? 959

Възстановяване на базата данни в SQL Server 959

Инсталиране и внедряване на ASP.NET уеб услугата 961

Инсталиране на Windows Forms клиента 963

Инсталиране на ASP.NET уеб приложението 963

Използвана литература 963



Заключение към втория том 965



Национална академия по разработка на софтуер

Лекторите

» Светлин Наков е автор на десетки технически публи­ка­ции и ня­колко книги, свър­­зани с раз­работката на соф­ту­ер, заради което е тър­сен лектор и кон­султант.

Той е разработчик с дъл­гого­дишен опит, работил по раз­нообразни проекти, реали­зи­рани с раз­лични техноло­гии (.NET, Java, Oracle, PKI и др.) и преподавател по съвре­мен­ни софтуерни технологии в СУ "Св. Климент Охридски".

През 2004 г. е носител на награ­дата "Джон Атанасов" на прези­дента на България Ге­орги Пър­ва­нов.

Светлин Наков ръководи обу­чението по Java технологии в Академията.


» Мартин Кулов е софтуерен инженер и консул­тант с дългогодишен опит в изграждането на решения с платформите на Microsoft.

Мартин е опитен инструктор и сертифициран от Майкрософт разработчик по програмите MCSD, MCSD.NET, MCPD и MVP и меж­дународен лектор в световна­та организа­ция на .NET потре­бителски­те групи INETA.

Мартин Кулов ръководи обу­чението по .NET технологии в Академията.


Академията

» Национална академия по раз­ра­ботка на софтуер (НАРС) е център за професионално обу­чение на соф­ту­ерни специалисти.


» НАРС провежда БЕЗПЛАТНО кур­сове по разработка на софтуер и съв­ременни софтуерни тех­нологии в Со­фия и други градове.
» Предлагани специалности:

  • Въведение в програмирането (с езиците C# и Java)

  • Core .NET Developer

  • Core Java Developer

» Качествено обу­чение с много практически про­екти и индивиду­ално внимание за всеки.


» Гарантирана работа! Трудов до­говор при постъпване в Академията.
» БЕЗПЛАТНО!

Учите безплатно във въведителните курсове и по стипендии от работода­телите в следващите нива.



http://academy.devbg.org




www.devbg.org

Българска асоциация на разработчиците на софтуер (БАРС) е нестопанска организация, която подпомага про­фе­сионалното развитие на българските софтуерни специ­а­листи чрез образо­вателни и други инициативи.

БАРС работи за насърчаване обмяната на опит между раз­работ­чиците и за усъвършенстване на техните знания и умения в областта на проектирането и разработката на софтуер.

Асоциацията организира специализирани конференции, семи­нари и курсове за обучение по разработка на софту­ер и софту­ерни технологии.

БАРС организира създаването на Национална академия по раз­работка на софтуер – учебен център за професионал­на подго­товка на софтуерни специалисти.




Сподели с приятели:
1   2   3   4   5   6   7   8   9   ...   33




©obuch.info 2024
отнасят до администрацията

    Начална страница