Home Page Icon
Home Page
Table of Contents for
II. Creating Applications Using the .NET Framework Class Library
Close
II. Creating Applications Using the .NET Framework Class Library
by Stephen C. Perry
Core C# and .NET
Copyright
PRENTICE HALL CORE SERIES
About the Author
Foreword
Preface
Acknowledgments
I. Fundamentals of C# Programming and Introduction to .NET
1. Introduction to .NET and C#
1.1. Overview of the .NET Framework
Microsoft .NET and the CLI Standards
1.2. Common Language Runtime
Compiling .NET Code
Common Type System
Assemblies
Private and Shared Assemblies
Precompiling an Assembly
Code Verification
1.3. Framework Class Library
1.4. Working with the .NET Framework and SDK
Updating the .NET Framework
.NET Framework Tools
Ildasm.exe
Ildasm and Obfuscation
wincv.exe
Framework Configuration Tool
1.5. Understanding the C# Compiler
Locating the Compiler
Compiling from the Command Line
Example 1: Compiling Multiple Files
Example 2: Creating and Using a Code Library
Example 3: Creating an Assembly with Multiple Files
1.6. Summary
1.7. Test Your Understanding
2. C# Language Fundamentals
2.1. The Layout of a C# Program
General C# Programming Notes
Case Sensitivity
Naming Conventions
Commenting a C# Program
2.2. Primitives
decimal
bool
char
byte, sbyte
short, int, long
single, double
Using Parse and TryParse to Convert a Numeric String
2.3. Operators: Arithmetic, Logical, and Conditional
Arithmetic Operators
Conditional and Relational Operators
Control Flow Statements
if-else
switch
2.4. Loops
while loop
do loop
for loop
foreach loop
Transferring Control Within a Loop
2.5. C# Preprocessing Directives
Conditional Compilation
Diagnostic Directives
Code Regions
2.6. Strings
String Literals
String Manipulation
Indexing Individual Characters in a String
String Concatenation
Extracting and Locating Substrings
Comparing Strings
2.7. Enumerated Types
Working with Enumerations
System.Enum Methods
Enums and Bit Flags
2.8. Arrays
Declaring and Creating an Array
Using System.Array Methods and Properties
2.9. Reference and Value Types
System.Object and System.ValueType
Memory Allocation for Reference and Value Types
Boxing
Summary of Value and Reference Type Differences
Memory Allocation
Releasing Memory
Variable Assignments
2.10. Summary
2.11. Test Your Understanding
3. Class Design in C#
3.1. Introduction to a C# Class
3.2. Defining a Class
Attributes
Examples
Description
Conditional Attribute
Access Modifiers
Abstract, Sealed, and Static Modifiers
Class Identifier
Base Classes, Interfaces, and Inheritance
Example
3.3. Overview of Class Members
Member Access Modifiers
3.4. Constants, Fields, and Properties
Constants
Fields
Field Modifiers
Using Static Read-Only Fields to Reference Class Instances
Properties
Indexers
3.5. Methods
Method Modifiers
Static Modifier
Method Inheritance with Virtual and Override Modifiers
New Modifier and Versioning
Sealed and Abstract Modifiers
Passing Parameters
3.6. Constructors
Instance Constructor
Inheritance and Constructors
Using Initializers
Private Constructor
Static Constructor
3.7. Delegates and Events
Delegates
Delegate-Based Event Handling
Working with Built-In Events
Using Anonymous Methods with Delegates
Defining Custom Events
Defining a Delegate to Work with Events
An Event Handling Example
3.8. Operator Overloading
3.9. Interfaces
Creating and Using a Custom Interface
Working with Interfaces
Determining Which Interface Members Are Available
Accessing Interface Methods
Interfaces Versus Abstract Classes
3.10. Generics
3.11. Structures
Defining Structures
Using Methods and Properties with a Structure
3.12. Structure Versus Class
Structures Are Value Types and Classes Are Reference Types
Unlike a Class, a Structure Cannot Be Inherited
General Rules for Choosing Between a Structure and a Class
3.13. Summary
3.14. Test Your Understanding
4. Working with Objects in C#
4.1. Object Creation
Example: Creating Objects with Multiple Factories
4.2. Exception Handling
System.Exception Class
Writing Code to Handle Exceptions
The try Block
The catch Block
The finally Block
Example: Handling Common SystemException Exceptions
How to Create a Custom Exception Class
Unhandled Exceptions
Unhandled Exceptions in a Windows Forms Application
Exception Handling Guidelines
4.3. Implementing System.Object Methods in a Custom Class
ToString() to Describe an Object
Equals() to Compare Objects
Overriding GetHashCode
Determining If References Point to the Same Object
Cloning to Create a Copy of an Object
How to Create a Shallow Copy
4.4. Working with .NET Collection Classes and Interfaces
Collection Interfaces
ICollection Interface
IHashCodeProvider Interface
Using the IEnumerable and IEnumerator Interfaces to List the Contents of a Collection
Iterators
Using the IComparable and IComparer Interfaces to Perform Sorting
IComparable
IComparer
System.Collections Namespace
Stack and Queue
ArrayList
IList Interface
Hashtable
IDictionary Interface
IDictionaryEnumerator Interface
Create a Hashtable
List Keys in a Hashtable
List Values in a Hashtable
List Keys and Values in a Hashtable
System.Collections.Generic Namespace
Comparison of System.Collections and System.Collections.Generic Namespaces
An Example Using a Generics Collections Class
4.5. Object Serialization
Binary Serialization
Excluding Class Members from Serialization
Binary Serialization Events
Handling Version Changes to a Serialized Object
4.6. Object Life Cycle Management
.NET Garbage Collection
Object Finalization
IDisposable.Dispose()
Using Dispose and Finalize
4.7. Summary
4.8. Test Your Understanding
II. Creating Applications Using the .NET Framework Class Library
5. C# Text Manipulation and File I/O
5.1. Characters and Unicode
Unicode
Working with Characters
Assigning a Value to a Char Type
Converting a Char Value to a Numeric Value
Characters and Localization
Characters and Their Unicode Categories
5.2. The String Class
Creating Strings
String Interning
Overview of String Operations
5.3. Comparing Strings
Using String.Compare
Using String.CompareOrdinal
5.4. Searching, Modifying, and Encoding a String's Content
Searching the Contents of a String
Searching a String That Contains Surrogates
String Transformations
String Encoding
5.5. StringBuilder
StringBuilder Class Overview
StringBuilder Versus String Concatenation
5.6. Formatting Numeric and DateTime Values
Constructing a Format Item
Formatting Numeric Values
Formatting Dates and Time
Dates and Culture
NumberFormatInfo and DateTimeFormatInfo Classes
5.7. Regular Expressions
The Regex Class
Regex Methods
IsMatch()
Replace()
Split()
Match() and Matches()
Creating Regular Expressions
A Pattern Matching Example
Working with Groups
Backreferencing a Group
Examples of Using Regular Expressions
Using Replace to Reverse Words
Parsing Numbers
5.8. System.IO: Classes to Read and Write Streams of Data
The Stream Class
FileStreams
Creating a FileStream
MemoryStreams
BufferedStreams
Using StreamReader and StreamWriter to Read and Write Lines of Text
Writing to a Text File
Reading from a Text File
StringWriter and StringReader
Encryption with the CryptoStream Class
5.9. System.IO: Directories and Files
FileSystemInfo
Working with Directories Using the DirectoryInfo, Directory, and Path Classes
Create a Subdirectory
Delete a Subdirectory
List Directories and Files
Using the Path Class to Operate on Path Names
Working with Files Using the FileInfo and File Classes
Using FileInfo and File to Open Files
5.10. Summary
5.11. Test Your Understanding
6. Building Windows Forms Applications
6.1. Programming a Windows Form
Building a Windows Forms Application by Hand
6.2. Windows.Forms Control Classes
The Control Class
Control Properties
Working with Controls
Size and Position
How to Anchor and Dock a Control
Tab Order and Focus
Iterating Through Controls on a Form
Control Events
Handling Mouse Events
Handling Keyboard Events
6.3. The Form Class
Setting a Form's Appearance
Form Opacity
Form Transparency
Setting Form Location and Size
Displaying Forms
The Life Cycle of a Modeless Form
Creating and Displaying a Form
Form Activation and Deactivation
Closing a Form
Forms Interaction—A Sample Application
Code for the Main Form
Code for the Search Form
Owner and Owned Forms
Message and Dialog Boxes
MessageBox
ShowDialog
Multiple Document Interface Forms
Creating a Menu and MDI Form
Creating an MDI Menu Using VisualStudio.NET
6.4. Working with Menus
MenuItem Properties
Context Menus
Constructing a Context Menu
6.5. Adding Help to a Form
ToolTips
Responding to F1 and the Help Button
The HelpProvider Component
6.6. Forms Inheritance
Building and Using a Forms Library
Using the Inherited Form
Overriding Events
Creating Inherited Forms with Visual Studio.NET
6.7. Summary
6.8. Test Your Understanding
7. Windows Forms Controls
7.1. A Survey of .NET Windows Forms Controls
7.2. Button Classes, Group Box, Panel, and Label
The Button Class
Setting a Button's Appearance
Handling Button Events
The CheckBox Class
Setting a CheckBox's Appearance
The RadioButton Class
Placing Radio Buttons in a Group
The GroupBox Class
The Panel Class
The FlowLayoutPanel Control
TableLayoutPanel Control
The Label Class
7.3. PictureBox and TextBox Controls
The PictureBox Class
The TextBox Class
TextBoxes and Carriage Returns
7.4. ListBox, CheckedListBox, and ComboBox Classes
The ListBox Class
Adding Items to a ListBox
Selecting and Searching for Items in a ListBox
Customizing the Appearance of a ListBox
Other List Controls: the ComboBox and the CheckedListBox
7.5. The ListView and TreeView Classes
The ListView Class
Creating a ListView Object
Define Appearance of ListView Object
Set Column Headers
Create ListView Items
Specifying Icons
Working with the ListView Control
Iterating over All Items or Selected Items
Detecting the Currently Selected Item
Sorting Items on a ListView Control
The TreeView Class
The TreeNode Class
Adding and Removing Nodes
Iterating Through the Nodes in a TreeView
Detecting a Selected Node
A TreeView Example That Uses Reflection
7.6. The ProgressBar, Timer, and StatusStrip Classes
Building a StatusStrip
7.7. Building Custom Controls
Extending a Control
Building a Custom UserControl
A UserControl Example
Using the Custom User Control
Working with the User Control at Design Time
7.8. Using Drag and Drop with Controls
Overview of Drag and Drop
Source Control Responsibilities
Target Control Responsibilities
7.9. Using Resources
Working with Resource Files
Creating Resource Strings from a Text File
Using the ResourceWriter Class to Create a .resources File
Using the ResourceManager Class to Access Resources
Using the ResXResourceWriter Class to Create a .resx File
Using the ResXResourceReader Class to Read a .resx file
Converting a .resx File to a .resources File
VS.NET and Resources
Using Resource Files to Create Localized Forms
Resource Localization Using Visual Studio.NET
Determining Localization Resources at Runtime
Creating a Satellite Assembly Without VS.NET
7.10. Summary
7.11. Test Your Understanding
8. .NET Graphics Using GDI+
8.1. GDI+ Overview
The Graphics Class
How to Obtain a Graphics Object from a Control Using CreateGraphics
How to Obtain a Graphics Object Using Graphics Methods
The Paint Event
Using Invalidate() to Request a Paint Event
Implementing a Paint Event Handler
8.2. Using the Graphics Object
Basic 2-D Graphics
Creating Shapes with the GraphicsPath Class
Hit Testing with Shapes
Pens
DashStyle
StartCap and EndCap
Brushes
The HatchBrush Class
The LinearGradientBrush Class
Creating a Multi-Color Gradient
Colors
How to Create a Color Object
Examining the Characteristics of a Color Object
A Sample Project: Building a Color Viewer
8.3. Images
Loading and Storing Images
A Note on Displaying Icons
Manipulating Images
Rotating and Mirroring
Working with a Buffered Image
Sample Project: Working with Images
Implementing Menu Operations
Drawing a Selection Rectangle on the Image
Copying and Manipulating the Image on the Small Panel
A Note on GDI and BitBlt for the Microsoft Windows Platform
8.4. Summary
8.4. Test Your Understanding
9. Fonts, Text, and Printing
9.1. Fonts
Font Families
Creating a FontFamily Object
Listing Font Families
The Font Class
Creating a Font
Using Font Metrics to Determine Font Height
9.2. Drawing Text Strings
Drawing Multi-Line Text
Formatting Strings with the StringFormat Class
Using Tab Stops
String Trimming, Alignment, and Wrapping
Example 1: Printing Without a StringFormat Object
Example 2: Printing with NoWrap Option
Example 3: Printing with NoWrap and Clipping on a Word
Example 4: Printing with NoWrap, Clipping on Word, and Right Justification
9.3. Printing
Overview
PrintDocument Class
Printer Settings
Selecting a Printer
Selecting Pages to Print
Setting Printer Resolution
Page Settings
PrintDocument Events
BeginPrint Event
EndPrint Event
QueryPageSettingsEvent Event
PrintPage Event
Defining the PrintPage Event Handler
Previewing a Printed Report
A Report Example
Data Source for the Report
Code for the Application
Creating a Custom PrintDocument Class
9.4. Summary
9.5. Test Your Understanding
10. Working with XML in .NET
10.1. Working with XML
Using XML Serialization to Create XML Data
An Example Using the XmlSerializer Class
Serialization Attributes
XML Schema Definition (XSD)
XML Schema Validation
Using an XML Style Sheet
The XslTransform Class
10.2. Techniques for Reading XML Data
XmlReader Class
XmlNodeReader Class
The XmlReaderSettings Class
Using an XML Schema to Validate XML Data
Options for Reading XML Data
10.3. Techniques for Writing XML Data
Writing XML with the XmlWriter Class
10.4. Using XPath to Search XML
Constructing XPath Queries
XmlDocument and XPath
XPathDocument and XPath
XmlDataDocument and XPath
Adding and Removing Nodes on a Tree
10.5. Summary
10.6. Test Your Understanding
11. ADO.NET
11.1. Overview of the ADO.NET Architecture
OLE DB Data Provider in .NET
.NET Data Provider
Data Provider Objects for Accessing Data
Provider Factories
11.2. Data Access Models: Connected and Disconnected
Connected Model
Disconnected Model
11.3. ADO.NET Connected Model
Connection Classes
Connection String
Connection Pooling
The Command Object
Creating a Command Object
Executing a Command
Executing Stored Procedures with the Command Object
Using Parameterized Commands Without Stored Procedures
DataReader Object
Accessing Rows with DataReader
Accessing Column Values with DataReader
11.4. DataSets, DataTables, and the Disconnected Model
The DataSet Class
DataTables
DataColumns
DataRows
Loading Data into a DataSet
Using the DataReader to Load Data into a DataSet
Using the DataAdapter to Load Data into a DataSet
Using the DataAdapter to Update a Database
The CommandBuilder Object
Synchronizing the DataSet and the DataBase
Using Transactions to Roll Back Multiple Updates
Identifying Rows That Cause Update Errors
Defining Relationships Between Tables in a DataSet
Relations and Constraints
Choosing Between the Connected and Disconnected Model
11.5. XML and ADO.NET
Using a DataSet to Create XML Data and Schema Files
Creating a DataSet Schema from XML
Reading XML Data into a DataSet
Using ReadXml with Nested XML Data
11.6. Summary
11.7. Test Your Understanding
12. Data Binding with Windows Forms Controls
12.1. Overview of Data Binding
Simple Data Binding
Binding to a List
Simple Binding with ADO.NET
Complex Data Binding with List Controls
One-Way and Two-Way Data Binding
Effects on the Data Source of Updating a Control Value
Effects on a Control of Updating the Data Source
Using Binding Managers
Using the BindingManagerBase to Navigate a List
12.2. Using Simple and Complex Data Binding in an Application
Binding to a DataTable
Binding Controls to an ArrayList
Adding an Item to the Data Source
Identifying Updates
Update Original Database with Changes
12.3. The DataGridView Class
Properties
Constructing a DataGridView
DataBinding with a DataGridView
Setting the Row Height
Working with Columns and Column Types
Events
Cell Formatting
Recognizing Selected Rows, Columns, and Cells
Data Error Handling
Setting Up Master-Detail DataGridViews
Virtual Mode
12.4. Summary
12.4. Test Your Understanding
III. Advanced Use of C# and the .NET Framework
13. Asynchronous Programming and Multithreading
13.1. What Is a Thread?
Multithreading
Thread Priority
Foreground and Background Threads
Thread State
13.2. Asynchronous Programming
Asynchronous Delegates
Understanding the Delegate Class
Constructor
Invoke
BeginInvoke
EndInvoke
Examples of Implementing Asynchronous Calls
Using Polling and Synchronization Objects
Using Callbacks
Multiple Threads and User Interface Controls
Using MethodInvoker to Create a Thread
Using Asynchronous Calls to Perform I/O
13.3. Working Directly with Threads
Creating and Working with Threads
The Current Thread
Creating Threads
Aborting a Thread
Multithreading in Action
Using the Thread Pool
Timers
System.Timers.Timer Class
System.Windows.Forms.Timer Class
13.4. Thread Synchronization
The Synchronization Attribute
The Monitor Class
Using Monitor to Lock an Object
Encapsulating a Monitor
The Mutex
The Semaphore
Avoiding Deadlock
Summary of Synchronization Techniques
13.5. Summary
13.5. Test Your Understanding
14. Creating Distributed Applications with Remoting
14.1. Application Domains
Advantages of AppDomains
Application Domains and Assemblies
Working with the AppDomain Class
14.2. Remoting
Remoting Architecture
Proxies
Formatters
Channels
Assigning a Name to a Channel
Types of Remoting
Marshaling by Value
Marshaling by Reference
Client-Activated Objects
Server-Activated Objects
Server-Activated Singleton
Server-Activated Single Call
Type Registration
Registering Server-Activated Objects
Registering Client-Activated Objects
Type Registration Using a Configuration File
Remoting with a Server-Activated Object
A Message Server Example
Server Assembly
Host Assembly
Client Assembly
MessageServer Configuration Files
Using an Interface Assembly with Server-Activated Objects
Remoting with a Client-Activated Object (CAO)
An Image Server Example
Host Assembly
Server Assembly
Client Assembly
Deploying the CAO Application
Design Considerations in Creating a Distributed Application
Configuring Assemblies
14.3. Leasing and Sponsorship
Leasing
Setting Initial Lease Values for Objects in an Application
Setting the Lease Values for an Individual Object
The Lease Manager
The Lifetime of a Lease
Sponsorship
14.4. Summary
14.5. Test Your Understanding
15. Code Refinement, Security, and Deployment
15.1. Following .NET Code Design Guidelines
Using FxCop
15.2. Strongly Named Assemblies
Creating a Strongly Named Assembly
Delayed Signing
Global Assembly Cache (GAC)
Versioning
Assigning a Version Number to an Assembly
15.3. Security
Permissions and Permission Sets
Named Permission Sets
Permission Set Attributes
.NET Built-in Security Permissions
Identity Permissions
Permission Attributes
Evidence
Security Policies
How .NET Applies Security Policies
Configuring Security Policy
The .NET Framework Configuration Tool
The Default Configuration Policies
My_Computer_Zone Code Group
LocalIntranet_Zone Code Group
Configuring Code Access Security with the Configuration Tool—An Example
Creating a Permission Set
Creating a Code Group
Testing the New Code Group
Determining the Permissions Granted to an Assembly
Determining the Permissions Required by an Assembly
Requesting Permissions for an Assembly
How to Apply a Permission Attribute
Testing a Permission Attribute
Programmatic Security
Stack Walk
Stack Walk Modifiers
Declarative Security Using Permission Attributes
15.4. Application Deployment Considerations
Microsoft Windows Deployment: XCOPY Deployment Versus the Windows Installer
Deploying Assemblies in the Global Assembly Cache
Deploying Private Assemblies
Using CodeBase Configuration
Using a Configuration File to Manage Multiple Versions of an Assembly
Assembly Version and Product Information
15.5. Summary
15.6. Test Your Understanding
Programming for the Internet
16. ASP.NET Web Forms and Controls
16.1. Client-Server Interaction over the Internet
Web Application Example: Implementing a BMI Calculator
A JavaScript BMI Calculator
An ASP (Active Server Pages) BMI Calculator
Using ASP.NET to Implement a BMI Calculator
Inline Code Model
View State
The @Page Directive
Other Directives
@Import Directive
@Assembly Directive
@Register Directive
The Code-Behind Model
Handling Events on the Server
Code-Behind with Partial Classes
Page Class
HttpRequest and HttpResponse Objects
Using IsPostBack
Page Events
Cross-Page Posting
16.2. Web Forms Controls
Web Controls Overview
Specifying the Appearance of a Web Control
Simple Controls
Using the Page_Load Event to Initialize the Screen
Buttons
Using Panels
Text Box
List Controls
Filling the Control with Data
Selecting an Item
The DataList Control
16.3. Data Binding and Data Source Controls
Binding to a DataReader
Binding to a DataSet
DataSource Controls
SqlDataSource Control
ObjectDataSource Control
XmlDataSource Control
16.4. Validation Controls
Using Validation Controls
CustomValidator Control
ValidationSummary Control
16.5. Master and Content Pages
Creating a Master Page
Creating a Content Page
Accessing the Master Page from a Content Page
16.6. Building and Using Custom Web Controls
A Custom Control Example
Using a Custom Control
Control State Management
Composite Controls
16.7. Selecting a Web Control to Display Data
16.8. Summary
16.9. Test Your Understanding
17. The Asp.Net Application Environment
17.1. HTTP Request and Response Classes
HttpRequest Object
HTTP Request Message Structure
Viewing the Request Message
HttpRequest Class Structure
HttpResponse Object
HTTP Response Message Structure
Viewing an HTTP Response Message
HttpResponse Class Properties
Using HttpResponse Methods
17.2. ASP.NET and Configuration Files
A Look Inside web.config
<appSettings> Configuration Section
<location> Configuration Section
<system.web> Configuration Section
The <compilation> Section
The <customErrors> Section
The <trace> Section
The <sessionState> Section
The <connectionStrings> Section
Adding a Custom Configuration Section
17.3. ASP.NET Application Security
Forms Authentication
Security Settings in web.config for Forms Authentication
An Example of Forms Authentication
Using web.config for Authentication and Authorization
The Login Screen—Using the FormsAuthentication Class
Adding Role-Based Authorization with global.asax
Viewing Authentication Information
17.4. Maintaining State
Application State
Accessing and Updating Application State Data
Considerations in Using Application State
Session State
In-Process Session State
Out-of-Process Session Using a State Server Process
Out-of-Process Session Using SQL Server
17.5. Caching
Page Output Caching
Specifying Cache Duration
Specifying the Caching Location
Conditional Caching with VaryByParam, VaryByHeader, and VaryByCustom
Caching a Partial Page (Fragment Caching)
Data Caching
Adding Items to a Data Cache
Retrieving Items from the Data Cache
Data Caching as a Substitute for ViewState
17.6. Creating a Web Client with WebRequest and WebResponse
WebRequest and WebResponse Classes
Web Client Example
17.7. HTTP Pipeline
Processing a Request in the Pipeline
HttpApplication Class
global.asax File
Using a Code-Behind File with global.asax
HTTP Modules
Implementing a Custom HttpModule
Deploying a Custom HttpModule
URL Rewriting with a Custom Module
Choosing Between an HTTP Module and global.asax
HTTP Handlers
Implementing a Custom HTTP Handler
Deploying a Custom HTTP Handler
17.8. Summary
17.9. Test Your Understanding
18. XML Web Services
18.1. Introduction to Web Services
Discovering and Using a Web Service
Introduction to UDDI
UDDI Discovery Example
Step 1: Send Discovery Request
Step 2: Registry Service Responds with List of Services Matching Request
Step 3: Retrieve Overview Document Containing WSDL
How to Communicate with a UDDI Service Registry
18.2. Building an XML Web Service
Creating a Web Service by Hand
WebService Directive
WebMethod Attribute
Testing the Web Service
Creating a Web Service Using VS.NET
System.Web.Services.WebService Class
Extending the Web Service with the WebService and WebMethod Attributes
The WebService Attribute
The WebMethod Attribute
EnableSession: Activate the Use of Session State Information
MessageName: Create Overloaded Web Operations
CacheDuration: Caching Output from a Web Operation
Using web.config to Configure Web Service Options
18.3. Building an XML Web Service Client
Creating a Simple Client to Access the Web Service Class
Using wsdl.exe to Create a Proxy
Synchronous Calls to a Web Service Method
Asynchronous Calls to a Web Service Method
Event-Based Asynchronous Calls
Using the CookieContainer Property to Maintain Session State
Creating a Proxy with Visual Studio.NET
18.4. Understanding WSDL and SOAP
Web Services Description Language (WSDL)
The WSDL Structure
<Definitions>
<Types>
<Message>
<PortType>
<Binding>
<Service>
Simple Object Access Protocol (SOAP)
A SOAP Request Message
A SOAP Response Message
Using the SOAP Header for User Authentication
Handling SOAP Exceptions
SOAP Security
18.5. Using Web Services with Complex Data Types
A Web Service to Return Images
Using Amazon Web Services
Sending a Request with the AmazonSearchService Class
Using the ProductInfo Class to Process the Web Service Response
Creating a Proxy for the Amazon Web Services
Building a WinForms Web Service Client
18.6. Web Services Performance
Configuring the HTTP Connection
Expect100Continue
The Nagle Algorithm
Working with Large Amounts of Data
18.7. Summary
18.8. Test Your Understanding
A. Features Specific to .NET 2.0 and C# 2.0
B. DataGridView Events and Delegates
Answers to Chapter Exercises
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
Chapter 15
Chapter 16
Chapter 17
Chapter 18
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
4. Working with Objects in C#
Next
Next Chapter
5. C# Text Manipulation and File I/O
Part II. Creating Applications Using the .NET Framework Class Library
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset