did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9781861004994

Professional C#

by ; ; ; ; ; ; ;
  • ISBN13:

    9781861004994

  • ISBN10:

    1861004990

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2001-06-01
  • Publisher: Springer-Verlag New York Inc
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.99

Summary

.NET is Microsoft's platform for Web Services, allowing applications to communicate and share data over the Internet, regardless of operating system or programming language. Each new .NET language (VB.NET, C#) is framework-compliant (as opposed to their previous versions, which were not connected) as they are all built on .NET's Common Language Runtime. Wrox's language-specific route to .NET information means that developers can choose from a number of books written on the same .NET technology from the perspective of their chosen language.

Table of Contents

Introduction 1(1)
The Significance of .NET
1(3)
Evolution vs Revolution
2(1)
A Clean Slate
3(1)
So What is .NET?
4(5)
Advantages of .NET
5(3)
Where C# Fits In
8(1)
The New Developer Environment
9(1)
What you Need to Write C# Code
10(1)
What This Book Covers
11(1)
Conventions
12(1)
Customer Support
13(2)
.NET Architecture
15(34)
Overview of .NET
16(1)
What Happens When You Compile and Run a Program
17(3)
Compilation
18(1)
Execution
18(1)
Benefits of Running as Managed Code
19(1)
Intermediate Language
20(4)
Classic Object-oriented programming
21(1)
Value and Reference Types
22(1)
Strong Typing
23(1)
Summary of IL Features
24(1)
Language Interoperability
24(5)
Common Type System (CTS)
25(1)
Significance for Language Interoperability
25(1)
CTS Hierarchy
26(1)
Common Language Specification (CLS)
27(2)
The .NET Base Class Library
29(1)
The Components of the .NET Framework
30(9)
Assemblies
30(1)
Metadata and Manifests
30(1)
Shared and Private Assemblies
31(1)
Namespaces
32(1)
Application Domains
32(2)
JIT Compilers
34(1)
.NET Tools
35(1)
The Garbage Collector
35(2)
Exceptions
37(1)
Security
38(1)
Attributes
39(1)
Reflection
39(1)
Languages and Technologies
39(3)
C#
40(1)
C++
40(1)
J++
41(1)
VB
41(1)
ASP
41(1)
Scripting Languages
42(1)
ADO/OLE DB
42(1)
ADSI
42(1)
COM and COM+
42(1)
Putting It All Together
42(3)
A Historical Note
45(1)
Summary
46(3)
Introduction to C#
49(22)
The Development of C#
49(7)
The Advent of Assembler
49(1)
The First Compilers
50(1)
The C Programming Language
51(1)
C vs C++
52(1)
Programming Windows in C and C++
53(1)
Enter VB
53(1)
Java
54(2)
C#
56(15)
C# Compared to Other Languages
56(4)
Using C#
60(5)
An Overview of C#'s Features
65(2)
Using the C# Compiler
67(1)
Overview
67(1)
Input and Output Files
67(1)
Compiling Different Project Types
67(1)
Response Files
67(1)
Summary
68(3)
C# Basics
71(72)
Getting Started
71(2)
C# Data Types
73(4)
New, Specialized Types in the CTS
74(1)
Type Safety
74(3)
C# Predefined Types
77(8)
Value Types
78(4)
Reference Types
82(3)
Complex Types
85(13)
Value Types
85(3)
Reference Types
88(5)
Type Conversions
93(1)
Implicit Conversions
94(1)
Explicit Conversions
95(2)
Boxing and Unboxing
97(1)
Variables
98(8)
Identifiers
99(1)
Variable Scope
100(1)
Fields and Local Variables
101(1)
Variable Modifiers
102(1)
Accessibility Modifiers
103(2)
Static and Instance Variables
105(1)
Read-Only Variables
105(1)
Constants
106(1)
Operators
106(6)
Operator Shortcuts
108(1)
The Ternary Operator
109(1)
checked and unchecked
110(1)
is
111(1)
sizeof
111(1)
typeof
111(1)
Operator Precedence
112(1)
Flow Control
112(9)
Conditional Statements
112(4)
Looping
116(2)
Jump Statements
118(2)
The using Block Statement
120(1)
Exception Handling
120(1)
Program Structure
121(12)
Classes
121(1)
Class Members
121(2)
Methods
123(4)
Namespaces
127(2)
The using Statement
129(1)
Namespace Aliases
130(1)
The Main Method
131(1)
Multiple Main Methods
131(1)
Passing Arguments to Main
132(1)
Compiling C# Files
133(2)
Console I/O
135(2)
Comments
137(4)
XML Documentation
138(2)
XML Documentation in Visual Studio.NET
140(1)
Summary
141(2)
Classes and Inheritance
143(52)
Before We Begin
144(1)
A Closer Look at Objects and Classes
144(14)
Objects in Everyday Life
144(1)
Objects in Programming
145(1)
Class Members
146(1)
Example: The Authenticator Class
147(4)
How Classes Are Implemented
151(1)
Instance and Static Fields
151(2)
Instance and Static Methods
153(1)
Accessing Static and Instance Members
154(1)
How Instance and Static Methods are Implemented
154(2)
Reference and Value Types
156(2)
Properties
158(5)
Advantages of Properties
160(3)
Inheritance
163(27)
Inheritance in Everyday Life
163(1)
Inheritance in C#: The Mortimer Phones Sample
164(3)
Adding Inheritance
167(5)
The Object Class
172(1)
The ToString() method
173(3)
Class Hierarchy Diagrams
176(1)
Virtual and Non-Virtual Methods
177(3)
Method Hiding
180(1)
Versioning
181(1)
Abstract Functions and Base Classes
182(1)
Redesigning Mortimer Phones: Adding an Abstract Class
183(3)
Sealed Classes and Methods
186(1)
Calling Base Versions of Methods
187(2)
Inheritance : Other Topics
189(1)
OOP Program Architecture
190(2)
Summary
192(3)
Object Oriented C#
195(62)
Method Overloading
196(6)
Defining Overloaded Methods
197(1)
Calling Overloaded Methods
198(2)
Requirements for Method Overloads
200(1)
When to Use Overloading
201(1)
Default Parameters
201(1)
Different Output Types
202(1)
Construction and Disposal
202(22)
Constructors
202(1)
Adding Constructors to the Authenticator
203(1)
Constructors that Take Parameters
204(2)
Other Uses of Constructors
206(1)
Static Constructors
207(1)
Const and Readonly Fields
208(1)
Readonly Fields
208(2)
Calling Constructors from Other Constructors
210(1)
Constructors of Derived Classes
211(2)
Adding a No-Parameter Constructor in a Hierarchy
213(1)
Adding Constructors with Parameters to a Hierarchy
214(4)
Cleaning up: Destructors
218(1)
Finalize()
218(1)
Dispose() and Close()
219(1)
Close() vs Dispose()
220(1)
IDisposable
220(1)
Sample: DestructorDemo
221(3)
What Happens in Memory: Reference and Value Variables
224(7)
Value Data Types
224(3)
Reference Data Types
227(4)
Structs
231(4)
Structs are Value Types
233(1)
Structs and Inheritance
234(1)
Constructors for Structs
234(1)
Operator Overloading
235(11)
Why we Need Operator Overloading
235(2)
How Operators Work
237(1)
Addition Operator Overloading Example: The Vector Struct
238(5)
Overloading the Comparison Operators
243(2)
Which Operators Can You Overload
245(1)
Indexers
246(4)
Adding an Indexer to Vector
246(3)
Other Indexer Examples
249(1)
Interfaces
250(5)
Implementing Interfaces: The Jumper/Sweatshirt Example
252(3)
Interface Inheritance
255(1)
Summary
255(2)
Advanced C# Topics
257(82)
Errors and Exception Handling
258(22)
Coding up an Exception
259(3)
Example: SimpleExceptions
262(4)
Handling Exceptions from Other Code
266(1)
Other System.Exception Properties and Methods
266(1)
What Happens if an Exception Isn't Handled
267(3)
Nested Try Blocks
270(2)
Modifying the Type of Exception
272(1)
Handling Different Exceptions in Different Places
272(1)
Exceptions Example: MortimerColdCall
272(1)
Defining Our Own Exception Classes
273(1)
The Main() Method
274(2)
The ColdCallFileReader Class
276(4)
User-Defined Casts
280(12)
Example: The Currency Struct
281(3)
Casts Between Classes
284(2)
Casts Between Base and Derived Classes
286(1)
Boxing and Unboxing Casts
287(1)
Multiple Casting
288(4)
Delegates
292(12)
Using Delegates in C#
294(3)
Simple Delegate Example
297(2)
Example: BubbleSorter
299(3)
Multicast Delegates
302(2)
Events
304(8)
The Consumer's View of Events
305(2)
Events Sample: Console Notifications
307(5)
The C# Preprocessor Directives
312(3)
#define and #undef
313(1)
#if, #elif, #else and #endif
313(1)
#warning and #error
314(1)
#region and #endregion
314(1)
#line
315(1)
Attributes
315(3)
Unsafe Code
318(18)
Pointers
319(13)
Using Pointers to Optimize Performance
332(1)
Creating Stack-based Arrays
332(4)
Summary
336(3)
C# and the Base Classes
339(70)
System.Object
340(3)
Comparing Reference Objects for Equality
341(1)
ReferenceEquals()
342(1)
Virtual Equals() Method
342(1)
Static Equals() Method
342(1)
Comparison Operator (==)
342(1)
Comparing Value Types for Equality
343(1)
String Handling
343(11)
System.String
344(1)
Building Strings
345(13)
StringBuilder Members
358
How the String Is Formatted
350(2)
Sample: FormattableVector
352(2)
Regular Expressions
354(7)
Introduction to Regular Expressions
355(1)
Sample: RegularExpressionsPlayaround
355(2)
Displaying Results
357(2)
Matches, Groups, and Captures
359(2)
Groups of Objects
361(15)
Array Lists
361(2)
Collections
363(1)
What is a Collection
363(2)
Adding Collection Support to the Vector Struct
365(2)
Dictionaries
367(1)
Dictionaries in Real Life
368(1)
Dictionaries in .NET
368(2)
How the Dictionary Works
370(2)
The MortimerPhonesEmployees Sample
372(4)
Custom Attributes
376(8)
Writing Custom Attributes
377(1)
Custom Attribute Classes
378(3)
The WhatsNewAttributes Sample
381(1)
The WhatsNewAttributes Library Assembly
381(2)
Using these Attributes: The VectorClass Assembly
383(1)
Reflection
384(10)
The System.Type Class
384(1)
Type Properties
385(1)
Methods
386(1)
Sample: TypeView
387(2)
The Assembly Class
389(1)
Finding out About Types Defined in an Assembly
389(1)
Finding Out About Custom Attributes
390(1)
Completing the WhatsNewAttributes Sample
390(4)
Threading
394(13)
Applications with Multiple Threads
395(1)
How Does This Work?
395(1)
Manipulating Threads
396(1)
Starting a Thread
396(2)
The ThreadPlayaround Sample
398(3)
Thread Priorities
401(1)
Synchronization
402(1)
What is Synchronization
402(2)
Synchronization Issues
404(3)
Summary
407(2)
Programming in the .NET Environment
409(40)
Visual Studio.NET
410(31)
Creating A Project
412(2)
Selecting A Project Type
414(3)
Other Files Created
417(1)
Solutions and Projects
418(1)
Adding Another Project To The Solution
419(2)
Windows Application Code
421(1)
Reading in Visual Studio 6 Projects
422(1)
Exploring and Coding a Project
423(1)
The Folding Editor
424(2)
Other Windows
426(7)
Pin Buttons
433(1)
Building a Project
434(1)
Building, Compiling, and Making
434(1)
Debug and Release Builds
435(2)
Selecting a Configuration
437(1)
Editing Configurations
437(1)
Debugging
438(1)
Breakpoints
439(1)
Watches
439(1)
Exceptions
440(1)
Other .NET Tools
441(1)
WinCV
442(1)
.NET Usage Guidelines
442(5)
Naming Conventions
443(1)
Casing of Names
444(1)
Name Styles
445(1)
Namespace Names
445(1)
Names and Keywords
445(1)
Use of Properties and Methods
446(1)
Use of Fields
447(1)
Summary
447(2)
Windows Applications
449(32)
Architecture
450(2)
Forms
452(2)
Controls
454(22)
Events and Delegates
458(1)
Event Handlers
459(3)
Grouping Controls
462(1)
Drawing Classes
463(1)
Dimensions
463(1)
Brushes
464(1)
Pens
464(1)
Fonts
465(1)
Graphics
465(1)
Custom Controls
466(1)
Example - Bezier Renderer
466(5)
Deployment and Use
471(5)
Menus
476(3)
Dialog Boxes
477(2)
Summary
479(2)
Assemblies
481(62)
What are Assemblies?
481(5)
The Answer to DLL-Hell
482(1)
Features of Assemblies
483(1)
Why the Microsoft Windows Installer (MSI) is Still Important
483(1)
Application Domains and Assemblies
484(2)
Assembly Structure
486(7)
Assembly Manifests
487(1)
Namespaces, Assemblies, and Components
488(1)
Private and Shared Assemblies
488(1)
Viewing Assemblies
488(1)
Building Assemblies
489(1)
Creating Modules and Assemblies
489(2)
Creating Assemblies using Visual Studio.NET
491(2)
Cross Language Support
493(11)
Language Independence in Action
494(1)
Writing a Class using Managed C++
495(3)
Writing a Class using VB.NET
498(2)
Writing a Class using C#
500(2)
CLS Requirements
502(1)
CLSCompliant Attribute
503(1)
CLS Rules
503(1)
Adding Resources to Assemblies
504(19)
Creating Resource Files
504(1)
ResGen
505(1)
ResourceWriter
505(1)
Using Resource Files
506(3)
Internationalization and Resources
509(1)
Culture
510(1)
Region
511(1)
System.Globalization Namespace
511(3)
Resources for Localization
514(1)
Satellite Assemblies
514(1)
System.Resources Namespace
514(1)
Localization Example using Visual Studio.NET
514(6)
Changing the Culture Programmatically
520(1)
Using Binary Resource Files
521(1)
Using XML Resource Files
522(1)
Changing Resources for Sub-Languages
523(1)
Global Assembly Cache
523(3)
Native Image Generator
524(1)
Global Assembly Cache Viewer
524(2)
Global Assembly Cache Utility (gacutil.exe)
526(1)
Create Shared Assemblies
526(6)
Shared Assembly Names
526(1)
Public Key Cryptography
527(1)
Integrity Using Strong Names
528(1)
Replacing the Key for delivery
528(1)
Creating a Shared Assembly
528(1)
Create a Strong Name
529(1)
Install the Shared Assembly
530(1)
Using the Shared Assembly
530(2)
Configuration
532(8)
Versioning
533(1)
Version Number
533(1)
Get the Version Programmatically
534(1)
Application Configuration Files
534(3)
Configuring Directories
537(1)
⟨codeBase⟩
538(1)
⟨probing⟩
539(1)
Deployment
540(1)
Deployment of DLLs
540(1)
Creating a Merge Module
540(1)
Summary
541(2)
Data Access with NET
543(50)
ADO.NET Overview
543(2)
Shared Classes
543(1)
Database Specific Classes
544(1)
Namespaces
544(1)
Connections
545(2)
Transactions
545(2)
Commands
547(6)
Executing Commands
547(3)
Calling Stored Procedures
550(1)
Calling a Stored Procedure that Returns Nothing
550(2)
Calling a Stored Procedure that Returns Output Parameters
552(1)
Record Insertion
552(1)
Data Readers
553(3)
Data Sets
556(11)
Data Tables
557(1)
Data Columns
558(1)
Data Rows
559(2)
Schema Generation
561(2)
Data Relationships
563(2)
Data Constraints
565(2)
XML Schema
567(17)
Populating a Data Set
578(1)
Populating a DataSet with a Data Adapter
578(1)
Populating a Data Set from XML
579(1)
Persisting Data Set Changes
580(1)
Updating via Data Adapters
580(2)
Writing XML Output
582(2)
Working with ADO.NET
584(6)
Tiered Development
584(1)
Copying and Merging Data
584(1)
SQL Server Key Generation
585(3)
Naming Conventions
588(1)
Database Tables
588(1)
Database Columns
588(1)
Constraints
588(1)
Performance
589(1)
Summary
590(3)
Viewing .NET Data
593(40)
The DataGrid Control
593(14)
Displaying Tabular Data
593(3)
Data Sources
596(1)
Array
596(1)
DataTable
597(1)
DataView
598(3)
DataSet
601(2)
IListSource and IList
603(1)
DataGrid Class Hierarchy
603(1)
DataGridTableStyle and DataGridColumnStyle
604(3)
Data Binding
607(6)
Simple Binding
607(1)
Data Binding Objects
608(5)
Visual Studio and Data Access
613(18)
Creating a Connection
613(2)
Selecting Data
615(2)
Generating a DataSet
617(1)
Building a Schema
618(2)
Adding an Element
620(4)
Other Common Requirements
624(3)
Manufactured Tables and Rows
627(1)
Using an Attribute
628(1)
Dispatching Methods
629(1)
Getting the Selected Row
630(1)
Summary
631(2)
XML
633(64)
W3C Standards
634(6)
The System.Xml Namespace
634(1)
XML 3.0 (MSXML3.DLL) in C#
635(5)
System.Xml
640(55)
Reading and Writing XML
640(1)
Xml TextReader
641(4)
Validation
645(3)
Writing XML
648(1)
Document Object Model in .NET
649(9)
XPath and XslTransform
658(9)
XML and ADO.NET
667(1)
ADO.NET Data to XML Document
667(9)
XML Document to ADO.NET Data
676(3)
Writing and Reading a DiffGram
679(4)
Serializing Objects in XML
683(12)
Summary
695(2)
File and Registry Operations
697(42)
Managing the File System
698(8)
NET Classes that Represent Files and Folders
699(2)
The Path Class
701(1)
Example: A File Browser
702(4)
Moving, Copying and Deleting Files
706(4)
The FilePropertiesAndMovement Sample
707(3)
Reading and Writing to Files
710(15)
Streams
710(3)
Reading and Writing to Binary Files
713(1)
The FileStream Class
713(2)
Example: Binary File Reader
715(3)
Reading and Writing to Text Files
718(1)
The StreamReader Class
719(2)
The StreamWriter Class
721(1)
Example: ReadWriteText
722(3)
Reading and Writing to the Registry
725(11)
The Registry
725(2)
The .NET Registry Classes
727(3)
Sample: SelfPlacingWindow
730(6)
Summary
736(3)
Working with the Active Directory
739(34)
Architecture of the Active Directory
740(8)
Features
740(1)
Active Directory Concepts
741(4)
Replication
745(1)
Characteristics of Active Directory Data
746(1)
Schema
747(1)
Administration of the Active Directory
748(3)
Active Directory Users and Computers
748(1)
ADSI Edit
749(1)
ADSI Viewer
750(1)
Active Directory Service Interfaces (ADSI)
751(1)
Programming the Active Directory
752(13)
Classes in System.DirectoryServices
752(1)
Binding
752(5)
Getting Directory Entries
757(1)
Properties of User Objects
757(1)
Object Collections
758(2)
Cache
760(1)
Updating Directory Entries
760(1)
Creating New Objects
760(1)
Searching in the Active Directory
761(2)
Search Limits
763(2)
Searching for User Objects
765(5)
User Interface
765(1)
Get the Schema Naming Context
766(1)
Get the Property Names of the User Class
767(2)
Search User Objects
769(1)
Summary
770(3)
ASP.NET Pages
773(38)
ASP.NET Introduction
774(1)
State Management in ASP.NET
775(1)
ASP.NET Web Forms
775(19)
ASP.NET Server Controls
780(3)
The Control Palette
783(4)
Server Control Example
787(7)
ADO.NET and Data Binding
794(13)
Updating the Event Booking Application
794(1)
The Database
794(1)
Binding to the Database
795(3)
Customizing the Calendar Control
798(2)
Adding Events to the Database
800(2)
More on Data Binding
802(2)
Data Display with Templates
804(3)
Application Configuration
807(1)
Summary
808(3)
Web Services
811(16)
SOAP
812(1)
WSDL
813(2)
Web Services
815(5)
Exposing Web Services
815(2)
Types Available for Web Services
817(1)
Consuming Web Services
818(2)
Extending the Meeting Room Booker Example
820(5)
The Meeting Room Booking Web Service
820(3)
The Meeting Room Booker Client
823(2)
Summary
825(2)
Custom Controls
827(32)
User Controls
828(7)
A Simple User Control
828(6)
Converting the Event Booker to a User Control
834(1)
Custom controls
835(12)
Custom Control Project Configuration
836(3)
Basic Custom Controls
839(2)
The RainbowLabel Derived Control
841(1)
Maintaining State in Custom Controls
842(3)
Creating a Composite Custom Control
845(2)
A Straw Poll Control
847(9)
The Option Controls
848(1)
The StrawPoll Control Builder
849(1)
Straw Poll Style
850(1)
The Straw Poll Control
851(2)
Adding an Event Handler
853(3)
Summary
856(3)
COM Interoperability
859(20)
COM and .NET Compared
859(3)
How COM Works
860(1)
The Drawbacks of COM
861(1)
How .NET Components Work
861(1)
COM or .NET?
861(1)
Using COM Components in .NET
862(10)
The References Dialog
862(4)
Runtime Callable Wrappers
866(1)
Tlbimp.exe
867(1)
Late Binding to COM Components
868(2)
Using ActiveX Controls in .NET
870(1)
AxImp.exe
870(1)
Referencing an ActiveX's Proxy Assembly
871(1)
Hosting an ActiveX Control on a WinForm
872(1)
Using .NET Components in COM
872(7)
RegAsm.exe
872(2)
TlbExp.exe
874(1)
Platform Invocation Services
875(1)
Unmanaged Code and Unsafe Code
875(1)
Accessing Unmanaged Code
875(1)
The Drawback to Pinvoke
876(1)
Conclusion
876(3)
COM+ Services
879(24)
Introduction
879(2)
COM+ Services in Perspective
880(1)
What COM+ Services Include
880(1)
The Component Services Snap-In
880(1)
COM+ Transactions
881(2)
How Transactions Help
881(1)
How Transactions Work
882(1)
Transactions in N-Tier Architectures
883(1)
COM+ Services and Object Lifetime
883(2)
Object Pooling
884(1)
Just In Time Activation (JIT)
884(1)
Security
885(1)
New COM+ Services
885(18)
Events
885(1)
Message Queuing
886(1)
Component Load Balancing
887(1)
Using COM+ Services with .NET Assemblies
887(1)
Preparing .NET Assemblies for COM+ Services
888(1)
Providing Assembly Attributes
888(1)
Deploying an Assembly for COM+ Services
889(2)
Summary of Topics Covered up to This Point
891(1)
Using Transactions with .NET Assemblies
891(1)
Specifying Transactional Support
891(2)
Coding Transactions with ContextUtil
893(4)
Other Useful ContextUtil Methods
897(1)
Using Object Pooling with .NET Assemblies
898(1)
The ObjectPooling Attribute
899(1)
The ServicedComponent Interface
899(1)
Using JIT Activation with .NET Assemblies
900(1)
Summary
900(3)
Graphics with GDI+
903(56)
Understanding Drawing Principles
905(9)
GDI and GDI+
905(1)
Device Contexts and the Graphics Object
906(1)
Sample: Drawing Shapes
907(4)
Painting Shapes using OnPaint
911(1)
Using the Clipping Region
912(2)
Measuring Coordinates and Areas
914(5)
Point and PointF
914(2)
Size and SizeF
916(1)
Rectangle and RectangleF
917(1)
Region
918(1)
A Note About Debugging
919(1)
Drawing Scrollable Windows
920(6)
World, Page and Device Coordinates
926(1)
Colors
926(3)
Red-Green-Blue (RGB) Values
926(1)
The Named Colors
927(1)
Graphics Display Modes and the Safety Palette
928(1)
The Safety Palette
928(1)
Pens and Brushes
929(2)
Brushes
929(1)
Pens
930(1)
Drawing Shapes and Lines
931(2)
Displaying Images
933(3)
Issues When Manipulating Images
935(1)
Drawing Text
936(2)
Simple Text Sample
937(1)
Fonts and Font Families
938(4)
Example: Enumerating Font Families
940(2)
Editing a Text Document: The CapsEditor Sample
942(13)
The Invalidate() Method
946(2)
Calculating Where Item Sizes and Document Size
948(1)
OnPaint()
949(1)
Coordinate Transforms
950(2)
Responding to User Input
952(3)
Printing
955(1)
Summary
956(3)
Accessing the Internet
959(16)
The WebClient Class
960(2)
Downloading Files
960(1)
Sample: Basic Web Client
960(1)
Uploading Files
961(1)
The WebRequest Classes
962(1)
Displaying Output As an HTML Page
963(4)
The Web Request And Web Response Hierarchy
966(1)
Utility Classes
967(5)
URIs
967(1)
The Display Page Sample
968(1)
IP Addresses and DNS Names
969(1)
.NET Classes for IP Addresses
969(1)
Sample: DnsLookup
970(2)
Lower Level Protocols
972(1)
Lower Level Classes
973(1)
Summary
973(2)
Distributed Applications with .NET Remoting
975(46)
What is .NET Remoting?
976(1)
Web Services Anywhere
976(1)
CLR Object Remoting
976(1)
.NET Remoting Overview
976(3)
Contexts
979(2)
Activation
980(1)
Attributes and Properties
980(1)
Communication between Contexts
981(1)
Remote Objects, Clients and Servers
981(3)
Remote Objects
981(1)
A Simple Server
982(1)
A Simple Client
983(1)
.NET Remoting Architecture
984(35)
Channels
985(2)
Setting Channel Properties
987(1)
Pluggability of a Channel
988(1)
Formatters
988(1)
ChannelServices and RemotingConfiguration
989(1)
Server for Client Activated Objects
990(1)
Object Activation
990(1)
Application URL
990(1)
Activating Well-Known Objects
991(1)
Activating Client-Activated Objects
991(1)
Proxy Objects
992(1)
Messages
993(1)
Message Sinks
993(1)
Passing Objects in Remote Methods
994(3)
Directional Attributes
997(1)
Lifetime Management
998(1)
Lease Renews
999(1)
Classes Used for Lifetime Management
999(1)
Example: Getting Lease Information
999(1)
Changing Default Lease Configurations
1000(1)
Configuration Files
1000(6)
Hosting Applications
1006(1)
Hosting Remote Servers in ASP.NET
1006(2)
Classes, Interfaces, and SOAPSuds
1008(1)
Interfaces
1008(1)
SOAPSuds
1008(1)
Tracking Services
1009(2)
Asynchronous Remoting
1011(1)
OneWay Attribute
1012(1)
Remoting and Events
1012(6)
Call Contexts
1018(1)
Summary
1019(2)
Windows Services
1021(46)
What are Services?
1021(1)
Architecture
1022(3)
Service Program
1023(1)
Service Control Manager (SCAQ)
1023(1)
Service Control Program
1024(1)
Service Configuration Program
1024(1)
System.ServiceProcess Namespace
1025(1)
Create a Service
1025(18)
A Class Library Using Sockets
1026(3)
TCPClient Sample
1029(2)
Windows Service Project
1031(5)
Threading and Services
1036(1)
Service Installation
1036(1)
Installation Program
1037(6)
Monitoring and Controlling the Service
1043(8)
MMC Computer Management
1043(1)
net.exe
1044(1)
sc.exe
1044(1)
Visual Studio.NET Server Explorer
1045(1)
ServiceController Class
1046(1)
Monitoring the Service
1047(3)
Controlling the Service
1050(1)
Troubleshooting
1051(12)
Interactive Services
1052(1)
Event Logging
1053(1)
Event Logging Architecture
1053(1)
Event Logging Classes
1054(1)
Adding Event Logging
1055(1)
Trace
1055(1)
Creating an Event Log Listener
1056(2)
Performance Monitoring
1058(1)
Performance Monitoring Classes
1058(1)
Performance Counter Builder
1058(1)
Adding Performance Counts
1059(2)
perfmon.exe
1061(2)
Performance Counter Service
1063(1)
Windows 2000 Service Features
1063(2)
Network Binding Changes and Power Events
1063(1)
Recovery
1064(1)
COM+ Applications as a Services
1065(1)
Summary
1065(2)
.NET Security
1067(50)
Code Access Security
1068(13)
Code Groups
1069(1)
Caspol.exe - Code Access Security Policy Tool
1070(4)
Code Access Permissions & Permissions Sets
1074(2)
Viewing an Assembly's Permissions
1076(3)
Policy Levels: Machine, User, and Enterprise
1079(2)
Support for Security In the Framework
1081(9)
Demanding Permissions
1081(3)
Requesting Permissions
1084(2)
Implicit Permission
1086(1)
Denying Permissions
1087(1)
Asserting Permissions
1088(1)
Creating Code Access Permissions
1089(1)
Declarative Security
1089(1)
Role-Based Security
1090(4)
The Principal
1091(1)
Windows Principal
1092(1)
Roles
1093(1)
Declarative Role Based Security
1093(1)
Managing Security Policy
1094(20)
The Security Configuration File
1095(1)
A Simple Example
1095(4)
Managing Code Groups and Permissions
1099(1)
Turning Security On and Off
1099(1)
Resetting Security Policy
1099(1)
Creating a Code Group
1099(1)
Deleting a Code Group
1100(1)
Changing a Code Group's Permissions
1101(1)
Creating & Applying Permissions Sets
1102(1)
Distributing Code Using a Strong Name
1103(2)
Distributing Code Using Certificates
1105(7)
Managing Zones
1112(2)
Summary
1114(3)
Appendix A: C# for C++ Developers 1117(52)
Appendix B: C# for Java Developers 1169(58)
Appendix C: C# for VB6 Developers 1227(54)
Appendix D: C# Compilation Options 1281(8)
Index 1289

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program