Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering C# and .NET Framework

You're reading from  Mastering C# and .NET Framework

Product type Book
Published in Dec 2016
Publisher Packt
ISBN-13 9781785884375
Pages 560 pages
Edition 1st Edition
Languages
Toc

Table of Contents (21) Chapters close

Mastering C# and .NET Framework
Credits
About the Author
Acknowledgements
About the Reviewer
www.PacktPub.com
Preface
1. Inside the CLR 2. Core Concepts of C# and .NET 3. Advanced Concepts of C# and .NET 4. Comparing Approaches for Programming 5. Reflection and Dynamic Programming 6. SQL Database Programming 7. NoSQL Database Programming 8. Open Source Programming 9. Architecture 10. Design Patterns 11. Security 12. Performance 13. Advanced Topics Index

Index

A

  • ACID features
    • atomicity / The NoSQL world
    • consistency / The NoSQL world
    • isolation / The NoSQL world
    • durability / The NoSQL world
  • Adapter pattern
    • about / The Adapter pattern
  • ADO.NET / .NET data access
  • ADO.NET basic objects
    • using / Using ADO.NET basic objects
    • user interface, configuring / Configuring the user interface
  • Adventure Works 2014 sample databases
    • reference link / The tools – SQL Server 2014
  • algorithms
    • implementing, with CLR / Implementing algorithms with the CLR
    / Data structures, algorithms, and complexity
  • American National Standards Institute (ANSI) / The SQL language
  • Analyze menu / The Analyze menu
  • AoT (Ahead of Time) / Core RT
  • Apple mobile device
    • reference link / A9 – Using components with known vulnerabilities
  • application's architecture
    • improving, Visual Studio used / Application's architecture using Visual Studio
  • Application Lifetime Management (ALM)
    • about / The Microsoft platform
  • Application Performance Engineering (APE)
    • about / Application Performance Engineering
    • issues / Application Performance Engineering
    • tests / Application Performance Engineering
    • tools / The tools
    • other tools / Other tools
    • performance tuning process / The process of performance tuning
    • performance, evaluating with code / Using code to evaluate performance
    • web applications, optimizing / Optimizing web applications
  • Application Security and Verification Standard (ASVS)
    • reference link / Prevention
    • prevention level, advanced / Prevention
    • prevention level, opportunistic / Prevention
    • prevention level, standard / Prevention
  • architectural changes, with respect to RDBMS
    • about / Architectural changes with respect to RDBMS
    • multiple queries, querying / Querying multiple queries
    • nonnormalized data, issue / The problem of nonnormalized data
    • data nesting / Data nesting
  • architecture
    • selecting / The election of an architecture
  • ASP.NET
    • reference / Client side
  • ASP.NET Core 1.0
    • about / ASP.NET Core 1.0
    • features / What's new
    • approach / A first approach
    • configuration / Configuration and Startup settings
    • startup setting / Configuration and Startup settings
    • self-hosted applications / Self-hosted applications
    • MVC / ASP.NET Core 1.0 MVC
    • scripts, managing / Managing scripts
  • ASP.NET optimization
    • about / ASP.NET optimization
    • reference / ASP.NET optimization
    • general and configuration / General and configuration
    • caching / Caching
    • data access / Data access
    • load balancing / Load balancing
    • client side / Client side
  • assemblies / Structure of an assembly file
  • assembly file
    • structure / Structure of an assembly file
    • program execution / Program execution
  • atomicity, consistency, isolation, and durability(ACID) / The NoSQL world
  • Azure
    • about / Other projects and initiatives

B

  • Base Class Libraries (BCLs) / .NET 4.6 (aligned with Visual Studio 2015)
  • Base Class Library (BCL) / The Task object and asynchronous calls
  • basic project
    • creating, Microsoft.CodeAnalysis used / A basic project using Microsoft.CodeAnalysis
  • behavioral pattern
    • about / Other software patterns
    • blackboard / Other software patterns
    • null object / Other software patterns
    • servant / Other software patterns
    • specification / Other software patterns
  • Behavior Driven Design (BDD)
    • about / Testing
  • Big O Notation (Big Omicron Notation) / Big O Notation
  • black art compound / Optimizing web applications
  • Blackboard system
    • reference / Other software patterns
  • bottleneck, detecting
    • excessive memory consumption / Bottleneck detection in practice
    • large working set size / Bottleneck detection in practice
    • fragmented large object heap / Bottleneck detection in practice
    • high CPU utilization / Bottleneck detection in practice
    • thread contention / Bottleneck detection in practice
  • bottlenecks / Application Performance Engineering
  • BPMN 2.0 (Business Process Model and Notation)
    • about / BPMN 2.0 (Business Process Model and Notation)
  • broken authentication and session management
    • issues / A2 – Broken Authentication and Session Management
    • causes / The causes
    • causes, prevention / Prevention
    • .NET coding / .NET coding for A2
    • .NET coding, desktop applications / Desktop applications
    • web applications / Web applications
  • BSOD (Blue Screen of Death) / The true reason for delegates

C

  • C# / F# 4 and .NET Framework
  • C# 4
    • and .NET framework 4.0 / C# 4 and .NET framework 4.0
    • features / C# 4 and .NET framework 4.0
  • C# 5.0
    • async/await declarations / C# 5.0: async/await declarations
  • C# 6.0
    • features / What's new in C# 6.0
  • C# 7.0
    • features / What's new in C# 7.0
  • C# and .NET MongoDB Drive
    • reference link / MongoDB from Visual Studio
  • C# definitions / Some useful tools
  • C# Generics
    • reference link / Generics
  • C# language
    • features / C# – what's different in the language?
    • differentiating, between other languages / The main differences
  • CASE tools
    • about / CASE tools
  • characteristics, .NET Core 1.0
    • flexible deployment / .NET Core 1.0
    • cross-platform / .NET Core 1.0
    • command-line tools / .NET Core 1.0
    • compatible / .NET Core 1.0
    • open source / .NET Core 1.0
    • Supported by Microsoft / .NET Core 1.0
  • charts and styles
    • reference link / Inserting multimedia in a sheet
  • Chrome
    • TypeScript, debugging with / Debugging TypeScript with Chrome
  • CLI languages
    • reference / Components and languages
  • CLR Profiler
    • reference / Garbage collection
  • CMMI (Capability Maturity Model Integration) / CASE tools
  • code, emitting at runtime
    • about / Emitting code at runtime
    • System.CodeDOM namespace / The System.CodeDOM namespace
    • Reflection.Emit namespace / The Reflection.Emit namespace
  • Code Analyzers / Code Analyzers
  • Codeplex
    • reference / Some useful tools
  • code refactoring / The first approach to code refactoring
  • Code Refactors / Code Analyzers
  • Code Visualizers / Code Analyzers
  • COM (Component Object Model) / The evolution of .NET
  • Command pattern
    • about / The Command pattern
    • example / An example already implemented in .NET
  • Common Information Model (CIM)
    • about / Windows Management Instrumentation
    • searchable tables / CIM searchable tables
    • searchable tables, reference / CIM searchable tables
  • Common Intermediate Language (CIL) / Common Intermediate Language
  • Common Language Infrastructure (CLI) / Components and languages
    • considerations / Components and languages
  • Common Language Runtime (CLR) / The open source movement and .NET Core, Common Language Runtime
    • components / Components and languages
    • languages / Components and languages
    • algoithms, implementing with / Implementing algorithms with the CLR
  • Common Language Specification (CLS) / Common Type System
  • common sorting algorithms
    • approach to performance / An approach to performance in the most common sorting algorithms
  • Common Type System (CTS) / Components and languages, Common Type System
  • Common Vulnerabilities and Exposures (CVE)
    • reference link / A9 – Using components with known vulnerabilities
  • compilers
    • differences, from traditional compilers / Differences from traditional compilers
  • complexity / Data structures, algorithms, and complexity
  • Component Object Runtime (COR) / Common Language Runtime
  • components, with known vulnerabilities
    • using / A9 – Using components with known vulnerabilities
  • concurrency patterns
    • about / Other software patterns
    • active object / Other software patterns
    • balking / Other software patterns
    • binding properties / Other software patterns
    • block chain / Other software patterns
    • double-checked locking / Other software patterns
    • event-based asynchronous / Other software patterns
    • guarded suspension / Other software patterns
    • join / Other software patterns
    • lock / Other software patterns
    • messaging design pattern (MDP) / Other software patterns
    • monitor object / Other software patterns
    • reactor / Other software patterns
    • read-write lock / Other software patterns
    • scheduler / Other software patterns
    • thread pool / Other software patterns
    • thread-specific storage / Other software patterns
  • concurrent computing
    • reference / Concurrent computing
    • about / Concurrent computing
  • configuration options
    • reference / Installation of .NET Core
  • Content Security Policy (CSP) / Prevention
  • context / Context
  • context switch / The OS multitask execution model
  • context types / Context types
  • contravariance
    • about / Covariance and contravariance, Contravariance
    • reference link / Covariance and contravariance
  • CORBA (Common Object Request Broker Architecture) / The evolution of .NET
  • Core CLI / Core CLI
    • reference / Installation of .NET Core
  • Core CLR
    • reference / Core CLR
  • Core FX
    • reference / Core FX
  • Core RT
    • reference / Core RT
  • covariance
    • about / Covariance and contravariance
    • reference link / Covariance and contravariance
    • in interfaces / Covariance in interfaces
    • in generic types / Covariance in generic types
    • in LINQ / Covariance in LINQ
  • creational pattern
    • about / Other software patterns
    • multiton / Other software patterns
    • Object Pool / Other software patterns
    • Resource Acquisition is Initialization / Other software patterns
  • Cross-Site Request Forgery (CSRF)
    • about / A8 – Cross-Site Request Forgery
    • prevention / Prevention
  • Cross-Site Scripting (XSS)
    • about / A3 – Cross-Site Scripting (XSS)
    • prevention / Prevention
    • reference link / Prevention

D

  • data access, in Visual Studio
    • about / Data access in Visual Studio
    • .NET data access / .NET data access
    • ADO.NET basic objects, using / Using ADO.NET basic objects
  • database
    • reference link / First demo: a simple query from Visual Studio
  • database design
    • about / The database design
  • Database Relational Model
    • about / The relational model
    • relational tables, properties / Properties of relational tables
  • Data patterns
    • reference / Other patterns
  • data structures / Data structures, algorithms, and complexity
  • declarative programming / Declarative programming
  • declare keyword / Declarations, scope, and Intellisense
  • decomposition / Decomposition
  • Decorator pattern
    • about / The Decorator pattern
  • Definitely Typed
    • reference / Functions, The DOM connection
  • delegates
    • reasons / The true reason for delegates
  • demo application
    • creating, in Visual Studio / Creating the demo application in Visual Studio
  • demos
    • debugging / Debugging and testing the demo
    • testing / Debugging and testing the demo
  • Denial of Service (DoS) / A9 – Using components with known vulnerabilities
  • dependency inversion principle
    • reference link / The true reason for delegates
  • Dependency Inversion principle (DIP) / Other implementations of LSP in .NET (Generics)
    • about / Dependency Inversion principle
    • final version, of sample / A final version of the sample
  • design patterns
    • about / Design patterns
    • Creational pattern / Design patterns
    • Structural pattern / Design patterns
    • Behavioral pattern / Design patterns
    • Singleton pattern / Singleton
    • Factory pattern / The Factory pattern
    • Adapter pattern / The Adapter pattern
    • Façade pattern / The Façade pattern
    • Decorator pattern / The Decorator pattern
    • Command pattern / The Command pattern
    • Observer pattern / The Observer pattern
    • Strategy pattern / The Strategy pattern
  • developer survey
    • reference link / The new JavaScript
  • device-driver development platform / The evolution of .NET
  • Diagnostic Tools menu
    • advanced options / Advanced options in the Diagnostic Tools menu
    • reference / Advanced options in the Diagnostic Tools menu
  • DLLs
    • mscoree.dll / Program execution
    • clr.dll / Program execution
    • mscorsvr.dll / Program execution
    • mscorwks.dll / Program execution
  • Domain Specific patterns / Other patterns
  • DOM connection / The DOM connection
  • dynamic language
    • and static language, differences / Languages: strongly typed, weakly typed, dynamic, and static
  • Dynamic Language Runtime (DLR) / Dynamic typing
  • dynamic memory
    • versus static memory / Static versus dynamic memory
  • dynamic programming
    • ExpandoObject object / The ExpandoObject object

E

  • ECMA
    • about / Components and languages
    • reference / Components and languages
    • reference link / The TypeScript language
  • EconoJIT mode / PreJIT, JIT, EconoJIT, and RyuJIT
  • Element interface
    • reference / Interfaces and strong typing
  • elements
    • issuer / The true reason for delegates
    • receiver / The true reason for delegates
    • channel / The true reason for delegates
    • message / The true reason for delegates
  • Enterprise Security API Project (ESAPI)
    • reference link / Prevention
  • Entity Framework (EF) data model
    • about / The Entity Framework data model
    • reference link / The Entity Framework data model
  • Erlang / F# 4 and .NET Framework
  • Essential .NET
    • reference / Common Language Runtime
  • evolution, .NET
    • about / The evolution of .NET
    • .NET, in Java world / .NET as a reaction to the Java World
    • Common Language Runtime (CLR) / Common Language Runtime
    • metadata / Metadata
    • algorithms, implementing with CLR / Implementing algorithms with the CLR
  • evolution, in version 2.0
    • generics / Generics
    • lambda expressions / Lambda expressions and anonymous types
    • anonymous types / Lambda expressions and anonymous types
    • LINQ syntax / The LINQ syntax
    • extension methods / Extension methods
  • Express library / Other languages

F

  • F# 4
    • Hello World demo / The inevitable Hello World demo
    • identifiers / Identifiers and scope
    • scope / Identifiers and scope
    • list / Lists
  • Factory pattern
    • about / The Factory pattern
  • Façade pattern
    • about / The Façade pattern
  • features, C# 4
    • covariance / Covariance and contravariance
    • contravariance / Covariance and contravariance
    • tuples / Tuples: a remembrance
    • lazy initialization and instantiation / Lazy initialization and instantiation
    • dynamic programming / Dynamic programming
    • dynamic typing / Dynamic typing
    • ExpandoObject object / The ExpandoObject object
    • optional parameters / Optional and named parameters
    • named parameters / Optional and named parameters
    • Task object / The Task object and asynchronous calls
    • asynchronous calls / The Task object and asynchronous calls
  • features, C# 6.0
    • about / What's new in C# 6.0
    • string interpolation / String interpolation
    • exception filters / Exception filters
    • nameof operator / The nameof operator
    • null-conditional operator / The null-conditional operator
    • auto-property initializers / Auto-property initializers
    • static using declarations / Static using declarations
    • expression bodied methods / Expression bodied methods
    • index initializers / Index initializers
  • features, C# 7.0
    • binary literals / Binary literals and digit separators
    • digit separators / Binary literals and digit separators
    • pattern matching / Pattern matching and switch statements
    • switch statements / Pattern matching and switch statements
    • tuples / Tuples
    • decomposition / Decomposition
    • local functions / Local functions
    • ref return values / Ref return values
  • features, Not Applicable Tools link
    • application timelineTopicn / Advanced options in the Diagnostic Tools menu
    • HTML UI Responsiveness / Advanced options in the Diagnostic Tools menu
    • network / Advanced options in the Diagnostic Tools menu
    • energy consumption / Advanced options in the Diagnostic Tools menu
    • JavaScript memory / Advanced options in the Diagnostic Tools menu
  • FileMon (File Monitor)
    • about / SysInternals
  • functionalities
    • Frequency / Using code to evaluate performance
    • IsHighResolution / Using code to evaluate performance
    • Elapsed / Using code to evaluate performance
    • ElapsedMilliseconds / Using code to evaluate performance
    • ElapsedTicks / Using code to evaluate performance
    • IsRunning / Using code to evaluate performance
  • functional languages
    • about / Functional languages
    • F# 4 / F# 4 and .NET Framework
    • .NET Framework / F# 4 and .NET Framework

G

  • Gang of Four (GoF)
    • about / Design patterns
  • Gantt diagrams / Many other options
  • garbage collection (GC) / Garbage collector, Garbage collection
    • characteristics / Garbage collection
  • generics
    • purpose / Generics
    • custom generic types and methods, creating / Creating custom generic types and methods
  • generic types
    • reference link / Covariance and contravariance
  • Global Assembly Cache (GAC) / Program execution
  • Governance Model, MSF
    • about / The Governance Model
    • Envision / The Governance Model
    • Plan / The Governance Model
    • Build / The Governance Model
    • Stabilize / The Governance Model
    • Deploy / The Governance Model
  • graphic schema
    • reference link / The Office app default project

H

  • Hardware Compatibility List (HCL) / The true reason for delegates
  • Haskell / F# 4 and .NET Framework
  • HCL page, for Windows
    • reference link / The true reason for delegates
  • heap / The stack and the heap
  • historical context, NoSQL databases / A brief historical context
  • historical open source movements
    • about / Historical open source movements
  • HTML5
    • reference link / The TypeScript language

I

  • Idle state / The OS multitask execution model
  • IIS optimization
    • reference / IIS optimization
    • HTTP Keep-Alives, enabling / IIS optimization
    • connection timeouts, tuning / IIS optimization
    • HTTP compression, enabling / IIS optimization
    • web gardens, considering / IIS optimization
    • object cache TTL (Time to Live) / IIS optimization
    • recycle / IIS optimization
    • Limit Queue Length / IIS optimization
  • ILoggerProvider
    • reference / Configuration and Startup settings
  • imperative programming / Imperative programming
  • implicit schema / Architectural changes with respect to RDBMS
  • indexes, SQL Server
    • clustered indexes / Properties of relational tables
    • non-clustered indexes / Properties of relational tables
  • injection
    • about / A1 – injection
    • SQL injection / SQL injection
    • prevention / Prevention
    • case, for NoSQL databases / The case for NoSQL databases
  • insecure direct object references
    • about / A4 – Insecure Direct Object References
    • prevention / Prevention
    • reference link / Prevention
  • Interface Segregation principle (ISP) / Other implementations of LSP in .NET (Generics)
    • about / Interface Segregation principle
  • Intermediate Language (IL) / Introducing metadata with a basic Hello World
  • International Organization for Standardization (ISO) / The SQL language
  • interoperability
    • about / Interoperability
    • (Primary Interop Assemblies (PIAs) / Primary Interop Assemblies
    • Microsoft Word, using / Interop with Microsoft Word
    • office apps / Office apps
  • invalidated redirects and forwards
    • finding, ways / A10 – Invalidated redirects and forwards
    • scenarios / A10 – Invalidated redirects and forwards
  • ISO
    • about / Components and languages
    • reference / Components and languages

J

  • .json files
    • launch Settings.json / Managing scripts
    • app Settings.json / Managing scripts
    • bower.json / Managing scripts
    • bundle Config.json / Managing scripts
  • Just-In-Time Compiler (JIT) / PreJIT, JIT, EconoJIT, and RyuJIT

K

  • Kernel Mode Cache / Caching

L

  • Lambda Calculus
    • about / Functional languages
    • reference link / Functional languages
  • lambda expressions
    • about / Lambda expressions
    • signatures / It's all about signatures
  • Language-Integrated Query (LINQ) / The LINQ syntax
  • Large Object Heap (LOH) / Bottleneck detection in practice
  • large object heap (LOH) / .NET 4.5.x
  • lazy initialization / Lazy initialization and instantiation
  • LINQ syntax
    • about / The LINQ syntax
    • based, on SQL language / LINQ syntax is based on the SQL language
    • deferred execution / Deferred execution
    • collections, joining / Joining and grouping collections
    • collections, grouping / Joining and grouping collections
    • projections, types / Type projections
  • Liskov Substitution principle
    • about / Liskov Substitution principle
    • example / Back to the code again
    • implementing, in .NET (Generics) / Other implementations of LSP in .NET (Generics)
  • list
    • about / Lists
    • function declarations / Function declarations
    • pipeline operator / The pipeline operator
    • pattern matching / Pattern matching
    • classes and types / Classes and types
    • casting / Casting
  • local functions / Local functions
  • local NuGet feed
    • reference / Debugging and testing the demo
  • Local Session Manager (LSM) / CIM searchable tables

M

  • managed execution / Managed execution
  • Management Infrastructure (MI)
    • about / Windows Management Instrumentation
    • reference / Windows Management Instrumentation
  • marshaled / The process of platform invocation
  • MBrace / F# 4 and .NET Framework
  • metadata / Metadata
    • with basic Hello World / Introducing metadata with a basic Hello World
  • Microsoft.CodeAnalysis
    • used, for creating basic project / A basic project using Microsoft.CodeAnalysis
  • Microsoft Code Analysis Services
    • about / A first look at Microsoft Code Analysis Services
  • Microsoft Foundation Classes (MFC) / The evolution of .NET
  • Microsoft platform
    • about / The Microsoft platform
  • Microsoft Solutions Framework (MSF)
    • about / The MSF application model
  • Microsoft® SQL Server® 2014 Express
    • reference link / The tools – SQL Server 2014
  • missing function-level access control
    • about / A7 – Missing Function-level Access Control
    • scenarios / A7 – Missing Function-level Access Control
    • prevention measures / Prevention
  • MongoDB
    • behavior rules / About CRUD operations
    • reference link / MongoDB on Windows
  • MongoDB, from Visual Studio
    • about / MongoDB from Visual Studio
    • simple query / First demo: a simple query from Visual Studio
    • CRUD operations / CRUD operations
    • single customer, deleting / Deletion
    • insertion / Insertion
    • modifications / Modifications and replacements
    • replacements / Modifications and replacements
  • MongoDB, on Windows
    • about / MongoDB on Windows
    • default configuration / File structure and default configuration
    • file structure / File structure and default configuration
    • useful commands / Some useful commands
    • operators / Operators
    • data, altering / Altering data – the rest of CRUD operations
    • data, text indexes / Text indexes
  • Mono / F# 4 and .NET Framework
  • MONO
    • reference / Components and languages
  • MonoDevelop / F# 4 and .NET Framework
  • Mono licensing model
    • reference / Historical open source movements
  • Mono Project (Xamarin)
    • reference / Historical open source movements
  • MSDN
    • reference link / The nameof operator
  • MSF application model
    • about / The MSF application model
    • Team Model / The MSF application model, The Team Model
    • Governance Model / The MSF application model, The Governance Model
  • MSF Risk Management
    • about / The Risk Model

N

  • .NET
    • evolution / The evolution of .NET
    • in Java world / .NET as a reaction to the Java World
  • .NET (Generics)
    • Liskov Substitution principle, implementing in / Other implementations of LSP in .NET (Generics)
  • .NET 4.5
    • improvements / .NET 4.5.x
  • .NET 4.6
    • improvements / .NET 4.6 (aligned with Visual Studio 2015)
  • .NET Compiler Platform / The Roslyn project
  • .NET Core
    • and open source movement / The open source movement and .NET Core
    / The open source movement and .NET Core, .NET data access, Other languages
  • .NET Core 1.0 / .NET Core 1.0
    • reference / .NET Core 1.0
    • characteristics / .NET Core 1.0
    • about / .NET Core 1.0
    • supported environments / The list of supported environments
    • installation / Installation of .NET Core
    • CLI interface / The CLI interface
  • .NET Core 1.1
    • about / .NET Core 1.1
    • reference / .NET Core 1.1
  • .NET Foundation initiative
    • about / Other projects and initiatives
  • .NET Framework
    • reflections / Reflection in the .NET Framework
  • .NET Native / The open source movement and .NET Core
  • .NET Standard Library
    • reference / .NET Core 1.0
  • .NET Technology Guide for Business Applications
    • download link / The election of an architecture
  • namespaces / Naming conventions, rules, and type access modes
  • National Vulnerability Database (NVD)
    • reference link / A9 – Using components with known vulnerabilities
  • NET Core 1.1
    • about / NET Core 1.1
    • reference / NET Core 1.1
    • features / NET Core 1.1
  • NET Native / .NET 4.6 (aligned with Visual Studio 2015)
  • Next Generation Windows Services (NGWS) / .NET as a reaction to the Java World
  • NIST (National Institute of Standards and Technology)
    • reference / Big O Notation
  • Node.js
    • about / Other languages
  • Normalization / Properties of relational tables
  • Normal JIT mode / PreJIT, JIT, EconoJIT, and RyuJIT
  • NoSQL Categorization
    • reference link / The NoSQL world
  • NoSQL databases
    • historical context / A brief historical context
    • about / The NoSQL world
    • architectural changes, with respect to RDBMS / Architectural changes with respect to RDBMS
    • CRUD operations / About CRUD operations
  • NuGet package
    • trying / Debugging and testing the demo

O

  • Object Explorer
    • about / The database design
  • Object Management Group (OMG) / The evolution of .NET
  • object oriented programming (OOP)
    • about / The origins
  • Object Relational Models (ORM) / .NET data access
  • Observer pattern
    • about / The Observer pattern
  • OCaml / F# 4 and .NET Framework
  • office apps
    • about / Office apps
    • default project / The Office app default project
    • reference link / The Office app default project
    • architectural differences / Architectural differences
  • OMG Universal Modelling Language (OMG UML)
    • about / UML standard support
  • OpCode fields
    • reference link / The Reflection.Emit namespace
  • Open/Closed principle (OCP)
    • about / Open/Closed principle
    • example / Back to our sample
  • open source code
    • for programmer / Open source code for the programmer
  • open source movement
    • and .NET Core / The open source movement and .NET Core
  • operational offer
    • resuming / About CRUD operations
  • operations
    • select / Properties of relational tables
    • project / Properties of relational tables
    • join / Properties of relational tables
    • intersect / Properties of relational tables
    • union / Properties of relational tables
    • difference / Properties of relational tables
    • product / Properties of relational tables
    • Add / Altering data – the rest of CRUD operations
    • Delete / Altering data – the rest of CRUD operations
    • Modify / Altering data – the rest of CRUD operations
  • operator
    • reference link / Operators
  • OS multitask execution model / The OS multitask execution model
  • OWASP
    • about / The OWASP initiative
    • reference link / The OWASP initiative, The OWASP Top 10, The case for NoSQL databases
  • OWASP SafeNuGet
    • reference link / A9 – Using components with known vulnerabilities
  • OWASP top 10 vulnerabilities
    • about / The OWASP Top 10
    • injection / The OWASP Top 10, A1 – injection
    • broken authentication and session management application / The OWASP Top 10
    • Cross-Site Scripting (XSS) / The OWASP Top 10, A3 – Cross-Site Scripting (XSS)
    • insecure direct object references / The OWASP Top 10, A4 – Insecure Direct Object References
    • security misconfiguration / The OWASP Top 10, A5 – Security Misconfiguration
    • sensitive data exposure / The OWASP Top 10, A6 – Sensitive Data Exposure
    • missing function-level access control / The OWASP Top 10, A7 – Missing Function-level Access Control
    • Cross-Site Request Forgery (CSRF) / The OWASP Top 10, A8 – Cross-Site Request Forgery
    • components with known vulnerabilities, using / The OWASP Top 10, A9 – Using components with known vulnerabilities
    • unvalidated redirects and forwards / The OWASP Top 10
    • broken authentication and session management / A2 – Broken Authentication and Session Management
    • invalidated redirects and forwards / A10 – Invalidated redirects and forwards

P

  • Parallel class
    • about / The Parallel class
    • Parallel.ForEach version / The Parallel.ForEach version
  • parallel computing / Parallel computing
    • reference / Parallel programming
  • parallel LINQ
    • about / Parallel LINQ
    • reference / Parallel LINQ
    • issues, dealing with / Dealing with other issues
    • execution, canceling / Canceling execution
  • parallel programming
    • about / Parallel programming
    • and multithreading, differentiating between / Difference between multithreading and parallel programming
  • PE format
    • reference / Structure of an assembly file
  • performance
    • evaluating, with code / Using code to evaluate performance
  • performance tuning process
    • about / The process of performance tuning
    • Performance Counters / Performance Counters
    • bottleneck, detecting / Bottleneck detection, Bottleneck detection in practice
  • PInvoke.net
    • reference link / The main differences
    • reference / Some useful tools
  • pipeline modes
    • integrated / General and configuration
    • classic / General and configuration
  • Platform/Invoke
    • OS, calling from .NET / Platform/Invoke: calling the OS from .NET
    • platform invocation process / The process of platform invocation
    • reference / The process of platform invocation
  • Platform Adaptation Layer (PAL) / The process of platform invocation
  • platform invocation process
    • about / The process of platform invocation
    • Windows Management Instrumentation / Windows Management Instrumentation
  • Platform Invoke
    • reference / An example already implemented in .NET
  • POCO (Plain Old CLR Object) / ASP.NET Core 1.0 MVC
  • PreJIT mode / PreJIT, JIT, EconoJIT, and RyuJIT
  • prevention considerations, security misconfiguration
    • about / Prevention – aspects to consider
  • Primary Interop Assemblies (PIAs)
    • about / Primary Interop Assemblies
    • cells, formatting / Formatting cells
    • multimedia, inserting in sheet / Inserting multimedia in a sheet
  • process / Process
  • programming techniques
    • origins / The origins
  • program state / Program state
  • providers
    • reference link / .NET data access
  • publication / The end of the life cycle – publishing the solution
  • Python / F# 4 and .NET Framework

R

  • random name generator
    • reference link / Tuples versus anonymous types
  • recommendations, bottleneck detection
    • CPU / Bottleneck detection
    • memory / Bottleneck detection
    • disk I/O / Bottleneck detection
    • network I/O / Bottleneck detection
  • reflections, .NET Framework
    • about / Reflection in the .NET Framework
    • external assemblies, calling / Calling external assemblies
    • generic reflection / Generic Reflection
    • code, emitting at runtime / Emitting code at runtime
  • ref return values / Ref return values
  • RegMon (Registry Monitor)
    • about / SysInternals
  • Release mode / General and configuration
  • requirements
    • of 1NF / Properties of relational tables
    • of 2NF / Properties of relational tables
    • of 3NF / Properties of relational tables
  • Risk Model
    • about / The Risk Model
  • Risk Model, MSF
    • about / The Risk Model
    • risk evaluation / Risk evaluation
    • risk assessment / Risk assessment
    • risk action plans / Risk action plans
  • Roslyn / PreJIT, JIT, EconoJIT, and RyuJIT
    • reference / Differences from traditional compilers
    • requisites / Getting started with Roslyn
  • Roslyn project
    • about / The Roslyn project
  • RyuJIT / PreJIT, JIT, EconoJIT, and RyuJIT

S

  • Scala / F# 4 and .NET Framework
  • ScriptCS
    • about / An entire open source sample for you to check: ScriptCS
    • reference / An entire open source sample for you to check: ScriptCS
  • security misconfiguration
    • about / A5 – Security Misconfiguration
    • attack examples / Possible examples of attacks
    • prevention, measures / Prevention – measures
  • sensitive data exposure
    • about / A6 – Sensitive Data Exposure
    • attack scenarios / A6 – Sensitive Data Exposure
  • serialization / Serialization
  • SharpDevelop / F# 4 and .NET Framework
  • SIMD
    • reference / .NET 4.6 (aligned with Visual Studio 2015)
  • Single Responsibility principle (SRP)
    • about / The SOLID principles, Single Responsibility principle
    • example / An example
  • Singleton pattern
    • about / Singleton
  • software construction terms, .NET programming
    • about / An annotated reminder of some important computing terms
    • context / Context
    • OS multitask execution model / The OS multitask execution model
    • context types / Context types
    • thread safety / Thread safety
    • state / State
    • program state / Program state
    • serialization / Serialization
    • process / Process
    • thread / Thread
    • SysInternals / SysInternals
    • static memory, versus dynamic memory / Static versus dynamic memory
    • garbage collector / Garbage collector
    • concurrent computing / Concurrent computing
    • parallel computing / Parallel computing
    • imperative programming / Imperative programming
    • declarative programming / Declarative programming
  • software patterns
    • about / Other software patterns
    • creational / Other software patterns
    • structural / Other software patterns
    • behavioral / Other software patterns
    • concurrency / Other software patterns
  • SOLID principles
    • about / The SOLID principles
    • S - Single Responsibility Principle / The SOLID principles, Single Responsibility principle
    • O - Open/Closed Principle / The SOLID principles, Open/Closed principle
    • L - Liskov Substitution principle / The SOLID principles, Liskov Substitution principle
    • I - Interface Segregation principle / The SOLID principles, Interface Segregation principle
    • D - Dependency inversion principle / The SOLID principles, Dependency Inversion principle
  • specification pattern
    • reference / Other software patterns
  • SQL Blog
    • reference link / SQL Server from Visual Studio
  • SQL Server, on Linux
    • reference / Other projects and initiatives
  • SQL Server 2014
    • about / The tools – SQL Server 2014
    • SQL language / The SQL language
    • from Visual Studio / SQL Server from Visual Studio
  • SQL Server databases
    • reference link / Prevention
  • SQL Server Management Studio (SSMS) / The tools – SQL Server 2014
    • about / The database design
  • stack / The stack and the heap
  • state / State
  • static language
    • and dynamic language, differences / Languages: strongly typed, weakly typed, dynamic, and static
  • static language,
    • and dynamic language, differences / Languages: strongly typed, weakly typed, dynamic, and static
  • static memory
    • versus dynamic memory / Static versus dynamic memory
  • Strategy pattern
    • about / The Strategy pattern
  • strongly typed language
    • and weakly typed language, differences / Languages: strongly typed, weakly typed, dynamic, and static
  • structural pattern
    • extension object / Other software patterns
    • front controller / Other software patterns
    • marker / Other software patterns
    • module / Other software patterns
    • twin / Other software patterns
  • sub-classing techniques / Sub-classing techniques
  • supported environments, .NET Core 1.0
    • reference / The list of supported environments
    • about / The list of supported environments
    • Core FX / Core FX
    • Core CLR / Core CLR
    • Core RT / Core RT
    • Core CLI / Core CLI
  • supported Operating Systems
    • reference / .NET Core 1.0
  • Syme / F# 4 and .NET Framework
  • SynchronizationContext object
    • reference / The Parallel class
  • SysInternals
    • reference / Thread
    • about / SysInternals

T

  • T-SQL (Transact-SQL) / The SQL language
  • task context / Context
  • Task Parallel Library
    • about / Task Parallel
    • communication, between threads / Communication between threads
  • Task Parallel Library (TPL). / Parallel programming
  • Team Model, MSF
    • about / The Team Model
    • product management / The Team Model
    • program management / The Team Model
    • architecture / The Team Model
    • development / The Team Model
    • testing / The Team Model
    • user experience / The Team Model
    • release operations / The Team Model
    • example / A first example
  • testing
    • about / Testing
  • tests, for performance measurement
    • load testing / Application Performance Engineering
    • stress testing / Application Performance Engineering
    • capacity testing / Application Performance Engineering
  • thread / Thread
    • reference / Thread
  • thread safety / Thread safety
  • Transact-SQL Reference (Database Engine)
    • reference link / The SQL language
  • Troy Hunt
    • reference link / Prevention
  • tuples
    • about / Tuples: a remembrance
    • implementation, in C# / Tuples: implementation in C#
    • support, for structural equality / Tuples: support for structural equality
    • versus anonymous types / Tuples versus anonymous types
    / Tuples
  • Turing
    • reference link / The SQL language
  • type
    • naming conventions / Naming conventions, rules, and type access modes
    • rules / Naming conventions, rules, and type access modes
    • access modes / Naming conventions, rules, and type access modes
    • members / Members of a type
  • TypeScript
    • about / TypeScript
    • reference / TypeScript
    • debugging / Debugging TypeScript
    • debugging, with Chrome / Debugging TypeScript with Chrome
    • interfaces / Interfaces and strong typing, Arrays and interfaces
    • strong typing / Interfaces and strong typing
    • namespaces, implementing / Implementing namespaces
    • declarations / Declarations, scope, and Intellisense
    • scope / Scope and encapsulation
    • encapsulation / Scope and encapsulation
    • classes / Classes and class inheritance
    • class inheritance / Classes and class inheritance
    • functions / Functions
    • arrays / Arrays and interfaces
    • working / More TypeScript in action
  • TypeScript 1.8
    • reference link / Languages: strongly typed, weakly typed, dynamic, and static
  • TypeScript language
    • about / The TypeScript language, TypeScript: a superset of JavaScript, So, what exactly is TypeScript?
    • new JavaScript / The new JavaScript
    • reference link / TypeScript: a superset of JavaScript, Installing the tools
    • main features / Main features and coalitions
    • coalitions / Main features and coalitions
    • tools, installing / Installing the tools
    • transpiling, to different versions / Transpiling to different versions
    • IDE, advantages / Advantages in the IDE
    • object-oriented syntax / A note on TypeScript's object-oriented syntax
    • functionality / More details and functionality
    • details / More details and functionality

U

  • UMDF (User-Mode Driver Framework) / The evolution of .NET
  • UML Standard
    • reference / UML standard support
  • UML standard support / UML standard support
  • Union Cicliste International
    • reference link / File structure and default configuration
  • universal platform
    • about / A universal platform
  • useful tools / Some useful tools

V

  • variant in OOP
    • reference link / Covariance and contravariance
  • versions 2.0
    • evolutions / The evolution in versions 2.0 and 3.0
  • versions 3.0
    • evolutions / The evolution in versions 2.0 and 3.0
  • ViewState / General and configuration
  • Visio
    • role / The role of Visio
    • website design / Website design
    • reports, generating / Reports
  • Visualizer
    • about / Getting started with Roslyn
    • reference / Getting started with Roslyn
  • Visual Studio
    • data access, reference link / Data access in Visual Studio
    • demo application, creating in / Creating the demo application in Visual Studio
    • used, for improving application's architecture / Application's architecture using Visual Studio
    • application, testing in / Testing our application in Visual Studio
  • Visual Studio 2015
    • execution and memory analysis, of assembly / A quick tip on the execution and memory analysis of an assembly in Visual Studio 2015
    • advanced options / Advanced options in Visual Studio 2015
  • Visual Studio 2015 CE update 1
    • reference / Introducing metadata with a basic Hello World
  • Visual Studio Enterprise
    • class diagrams, creating / Class diagrams
  • Visual Studio Enterprise Edition, main menu options
    • architecture / Visual Studio architecture, testing, and analysis tools
    • testing / Visual Studio architecture, testing, and analysis tools
    • analysis / Visual Studio architecture, testing, and analysis tools
  • Visual Studio On-line / CASE tools
  • Visual Studio Team Services (VSTS) / CASE tools

W

  • W3C
    • reference link / The TypeScript language
  • WaitAll method / Communication between threads
  • WaitAny method / Communication between threads
  • weakly typed language
    • and strongly typed language, differences / Languages: strongly typed, weakly typed, dynamic, and static
  • web applications optimization
    • factors / Optimizing web applications
    • IIS optimization / IIS optimization
    • ASP.NET optimization / ASP.NET optimization
  • WebSharper / F# 4 and .NET Framework
  • WhenAll method / Communication between threads
  • WhenAny method / Communication between threads
  • White List Input Validation / Prevention
  • Windows CNG cryptography APIs
    • reference / .NET 4.6 (aligned with Visual Studio 2015)
  • Windows Management Instrumentation
    • about / Windows Management Instrumentation
    • CIM searchable tables / CIM searchable tables
  • Windows Management Instrumentation (WMI) / The process of platform invocation
  • Windows messaging subsystem
    • about / The Windows messaging subsystem
    • MSG structure / The MSG structure
    • sub-classing techniques / Sub-classing techniques
  • Windows Remote Management (WinRM) / Windows Management Instrumentation
  • WinJS
    • about / Other projects and initiatives
  • WMI Code Creator v1.0
    • download link / CIM searchable tables

X

  • Xamarin Studio / F# 4 and .NET Framework
  • Xamarin Studio Community Edition / Historical open source movements
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}