Pro ASP.NET 2.0 in VB 2005

by
Format: Paperback
Pub. Date: 2006-01-30
Publisher(s): Apress
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $62.99

Rent Book

Select for Price
There was a problem. Please try again later.

Rent Digital

Rent Digital Options
Online:30 Days access
Downloadable:30 Days
$19.80
Online:60 Days access
Downloadable:60 Days
$26.40
Online:90 Days access
Downloadable:90 Days
$33.00
Online:120 Days access
Downloadable:120 Days
$39.60
Online:180 Days access
Downloadable:180 Days
$42.90
Online:1825 Days access
Downloadable:Lifetime Access
$65.99
$42.90

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

With its added improvements, ASP.NET 2.0 is becoming the standard technology for creating dynamic web pages on the Windows platform. This new technology is faster to code than the previous version, and offers a more powerful set of tools including MasterPages and Generics. It also runs more quickly when deployed, so that customers enjoy a much better user experience. It is now used by organisations across the board, from start-up companies to blue-chip multinational corporations. This book takes a broad-based approach, explaining how old and new features interrelate. This book will also provide you with the solid understanding you need to code real applications.

Table of Contents

About the Author xxvii
About the Editor xxix
About the Technical Reviewer xxxi
Introduction xxxiii
PART 1 Core Concepts
Introducing ASP.NET
3(20)
The Evolution of Web Development
3(4)
The Development World Before ASP.NET
4(1)
What's Wrong with Classic ASP?
4(2)
ASP.NET 1.0
6(1)
Seven Important Facts About ASP.NET
7(8)
Fact 1: ASP.NET Is Integrated with the .NET Framework
7(1)
Fact 2: ASP.NET Is Compiled, Not Interpreted
7(2)
Fact 3: ASP.NET Is Multilanguage
9(2)
Fact 4: ASP.NET Runs Inside the Common Language Runtime
11(1)
Fact 5: ASP.NET Is Object-Oriented
12(2)
Fact 6: ASP.NET Is Multidevice and Multibrowser
14(1)
Fact 7: ASP.NET Is Easy to Deploy and Configure
14(1)
ASP.NET 2.0: The Story Continues
15(6)
Visual Basic 2005
15(1)
Visual Studio 2005
16(1)
ASP.NET 2.0
16(5)
Summary
21(2)
Visual Studio 2005
23(40)
The .NET Development Model
24(2)
The Compiler
25(1)
The Visual Studio 2005 IDE
25(1)
Websites in Visual Studio
26(9)
Projectless Development
29(1)
Migrating a Visual Studio .NET Project
30(1)
Designing a Web Page
31(4)
The Visual Studio IDE
35(6)
Solution Explorer
36(1)
Document Window
37(1)
Toolbox
37(1)
Error List and Task List
38(2)
Server Explorer
40(1)
The Code Editor
41(6)
Adding Assembly References
42(2)
IntelliSense and Outlining
44(3)
The Coding Model
47(5)
How Code-Behind Files Are Connected to Pages
50(1)
How Control Tags Are Connected to Page Variables
50(1)
How Events Are Connected to Event Handlers
51(1)
Visual Studio Debugging
52(6)
Single-Step Debugging
53(3)
Advanced Breakpoints
56(1)
Variable Watches
57(1)
Visual Studio Macros
58(2)
ASP.NET Development Helper
60(2)
Summary
62(1)
Web Forms
63(40)
Page Processing
64(12)
HTML Forms
64(2)
Dynamic Interfaces
66(1)
The ASP.NET Event Model
66(1)
Automatic Postbacks
67(2)
View State
69(3)
XHTML Compliance
72(4)
Web Forms Processing Stages
76(6)
Page Framework Initialization
77(1)
User Code Initialization
77(1)
Validation
78(1)
Event Handling
78(1)
Automatic Data Binding
79(1)
Cleanup
79(1)
A Page Flow Example
80(2)
The Page As a Control Container
82(6)
Showing the Control Tree
82(4)
The Page Header
86(1)
Dynamic Control Creation
87(1)
The Page Class
88(13)
Session, Application, and Cache
89(1)
Request
89(2)
Response
91(1)
Server
92(2)
User
94(1)
Trace
94(7)
Accessing the HTTP Context in Another Class
101(1)
Summary
101(2)
Server Controls
103(48)
Types of Server Controls
104(2)
The Server Control Hierarchy
105(1)
HTML Server Controls
106(10)
The HtmlControl Class
107(1)
The HtmlContainerControl Class
108(1)
The HtmlInputControl Class
108(1)
The HTML Server Control Classes
108(2)
Setting Style Attributes and Other Properties
110(1)
Programmatically Creating Server Controls
111(2)
Handling Server-Side Events
113(3)
Web Controls
116(11)
The WebControl Base Class
117(1)
Basic Web Control Classes
117(2)
Units
119(1)
Enumerated Values
120(1)
Colors
120(1)
Fonts
121(1)
Focus
122(1)
The Default Button
123(1)
Scrollable Panels
123(1)
Handling Web Control Events
124(3)
The List Controls
127(5)
The Selectable List Controls
128(2)
The BulletedList Control
130(2)
Input Validation Controls
132(12)
The Validation Controls
132(1)
The Validation Process
133(2)
The BaseValidator Class
135(1)
The RequiredFieldValidator Control
135(1)
The RangeValidator Control
136(1)
The CompareValidator Control
136(1)
The RegularExpressionValidator Control
137(3)
The CustomValidator Control
140(1)
The ValidationSummary Control
141(1)
Using the Validators Programmatically
142(1)
Validation Groups
143(1)
The ASP.NET Rich Controls
144(5)
The AdRotator Control
145(2)
The Calendar Control
147(2)
Summary
149(2)
ASP.NET Applications
151(44)
Anatomy of an ASP.NET Application
151(4)
The Application Domain
152(1)
Application Lifetime
153(1)
Application Updates
154(1)
Application Directory Structure
154(1)
The Global.asax Application File
155(4)
Application Events
156(2)
Demonstrating Application Events
158(1)
ASP.NET Configuration
159(18)
The Machine.config File
160(2)
The Web.config File
162(3)
Configuration Settings
165(4)
Reading and Writing Configuration Sections Programmatically
169(2)
The Website Administration Tool (WAT)
171(2)
Extending the Configuration File Structure
173(3)
Encrypting Configuration Sections
176(1)
.NET Components
177(5)
Creating a Component
178(1)
Using a Component Through the App_Code Directory
179(1)
Using a Component Through the Bin Directory
180(2)
Extending the HTTP Pipeline
182(11)
HTTP Handlers and HTTP Modules
183(2)
Creating a Custom HTTP Handler
185(1)
Configuring a Custom HTTP Handler
186(1)
Registering HTTP Handlers Without Configuring IIS
187(1)
Creating an Advanced HTTP Handler
188(3)
Creating a Custom HTTP Module
191(2)
Summary
193(2)
State Management
195(34)
ASP.NET State Management
196(2)
View State
198(9)
A View State Example
198(2)
Storing Objects in View State
200(2)
Retaining Member Variables
202(1)
Assessing View State
203(2)
Trimming View State in a List Control
205(1)
View State Security
205(2)
Transferring Information
207(5)
The Query String
207(1)
Cross-Page Posting
208(3)
Cross-Page Posting and Validation
211(1)
Custom Cookies
212(2)
Session State
214(8)
Session Architecture
214(1)
Using Session State
215(2)
Configuring Session State
217(5)
Securing Session State
222(1)
Application State
222(4)
Shared Application Variables
224(2)
Summary
226(3)
PART 2 Data Access
ADO.NET Fundamentals
229(36)
The ADO.NET Architecture
230(5)
ADO.NET Data Providers
230(2)
Standardization in ADO.NET
232(1)
SQL Server 2005
233(1)
Fundamental ADO.NET Classes
234(1)
The Connection Class
235(5)
Connection Strings
235(1)
Testing a Connection
236(2)
Connection Pooling
238(2)
Connection Statistics
240(1)
The Command and DataReader Classes
240(13)
Command Basics
240(2)
The DataReader Class
242(1)
The ExecuteReader() Method and the DataReader
242(5)
The ExecuteScalar() Method
247(1)
The ExecuteNonQuery() Method
247(1)
SQL Injection Attacks
248(2)
Using Parameterized Commands
250(1)
Calling Stored Procedures
251(2)
Transactions
253(6)
Transactions and ASP.NET Applications
254(3)
Isolation Levels
257(2)
Savepoints
259(1)
Nested Transactions
259(1)
Provider-Agnostic Code
259(4)
Creating the Factory
260(1)
Create Objects with Factory
261(1)
A Query with Provider-Agnostic Code
262(1)
Summary
263(2)
Data Components and the DataSet
265(30)
Building a Data Access Component
265(10)
The Data Package
267(1)
The Stored Procedures
268(1)
The Data Utility Class
269(5)
Testing the Component
274(1)
Disconnected Data
275(2)
Web Applications and the DataSet
276(1)
XML Integration
277(1)
The DataSet Class
277(2)
The DataTable Class
279(1)
The DataRow Class
279(1)
The DataAdapter Class
279(8)
Filling a DataSet
281(1)
Working with Multiple Tables and Relationships
282(3)
Searching for Specific Rows
285(1)
Using the DataSet in a Custom Data Class
286(1)
Data Binding
286(1)
The DataView Class
287(7)
Sorting with a DataView
287(2)
Filtering with a DataView
289(2)
Advanced Filtering with Relationships
291(1)
Calculated Columns
292(2)
Summary
294(1)
Data Binding
295(40)
Basic Data Binding
296(13)
Single-Value Binding
296(2)
Other Types of Expressions
298(4)
Repeated-Value Binding
302(7)
Data Source Controls
309(2)
The Page Life Cycle with Data Binding
310(1)
The SqlDataSource
311(12)
Selecting Records
312(2)
Parameterized Commands
314(4)
Handling Errors
318(1)
Updating Records
318(4)
Disadvantages of the SqlDataSource
322(1)
The ObjectDataSource
323(8)
Selecting Records
324(4)
Updating Records
328(1)
Updating with a Data Object
329(2)
The Limits of the Data Source Controls
331(3)
The Problem
332(1)
Adding the Extra Items
333(1)
Handling the Extra Options with the SqlDataSource
333(1)
Handling the Extra Options with the ObjectDataSource
334(1)
Summary
334(1)
Rich Data Controls
335(56)
The GridView
336(3)
Defining Columns
336(3)
Formatting the GridView
339(7)
Formatting Fields
340(1)
Styles
341(3)
Formatting-Specific Values
344(2)
GridView Row Selection
346(4)
Using Selection to Create a Master-Details Form
347(2)
The SelectedIndexChanged Event
349(1)
Using a Data Field As a Select Button
350(1)
Sorting the GridView
350(5)
Sorting with the SqlDataSource
351(1)
Sorting with the ObjectDataSource
352(1)
Sorting and Selection
353(1)
Advanced Sorting
354(1)
Paging the GridView
355(6)
Automatic Paging
356(1)
Custom Pagination with the ObjectDataSource
357(3)
Customizing the Pager Bar
360(1)
GridView Templates
361(11)
Using Multiple Templates
363(1)
Editing Templates in Visual Studio
364(1)
Binding to a Method
364(2)
Handling Events in a Template
366(1)
Editing with a Template
367(5)
The DetailsView and FormView
372(4)
The DetailsView
372(3)
The FormView
375(1)
Advanced Grids
376(13)
Summaries in the GridView
376(2)
A Parent/Child View in a Single Table
378(2)
Serving Images from a Database
380(5)
Detecting Concurrency Conflicts
385(4)
Summary
389(2)
Caching
391(34)
Understanding ASP.NET Caching
392(1)
Output Caching
393(8)
Declarative Output Caching
393(1)
Caching and the Query String
394(1)
Caching with Specific Query String Parameters
395(1)
Custom Caching Control
396(1)
Caching with the HttpCachePolicy Class
397(1)
Post-Cache Substitution and Fragment Caching
398(2)
Cache Profiles
400(1)
Caching to Disk
401(1)
Data Caching
401(8)
Adding Items to the Cache
402(2)
A Simple Cache Test
404(1)
Cache Priorities
405(1)
Caching with the Data Source Controls
406(3)
Cache Dependencies
409(11)
File and Cache Item Dependencies
409(2)
Aggregate Dependencies
411(1)
The Item Removed Callback
411(2)
Understanding SQL Cache Notifications
413(2)
Cache Notifications in SQL Server 2000 or SQL Server 7
415(4)
Cache Notifications in SQL Server 2005
419(1)
Custom Cache Dependencies
420(4)
A Basic Custom Cache Dependency
421(1)
A Custom Cache Dependency Using Message Queues
422(2)
Summary
424(1)
XML
425(44)
When Does Using XML Make Sense?
426(1)
An Introduction to XML
426(5)
The Advantages of XML
427(1)
Well-Formed XML
428(1)
XML Namespaces
428(2)
XML Schemas
430(1)
Writing and Reading XML Programmatically
431(17)
Writing XML Files
431(3)
Reading XML Files
434(6)
Searching an XML Document
440(6)
Validating XML Files
446(2)
Displaying XML Content with XSL
448(3)
A Basic Stylesheet
449(1)
Using XslCompiledTransform
450(1)
Using the Xml Control
451(1)
XML Data Binding
451(11)
Nonhierarchical Binding
451(2)
Using XPath Binding Expressions
453(2)
Nested Grids
455(2)
Hierarchical Binding with the TreeView
457(3)
Using XSLT to Prepare Data for Binding in a TreeView
460(1)
Binding to XML Content from Other Sources
461(1)
Updating XML Through the XmlDataSource
462(1)
XML and ADO.NET
462(6)
Converting the DataSet to XML
463(1)
Accessing a DataSet As XML
464(2)
Executing an XML Query
466(2)
Summary
468(1)
Files and Streams
469(32)
Working with the File System
469(16)
The Directory and File Classes
470(2)
The DirectoryInfo and FileInfo Classes
472(2)
The DriveInfo Class
474(1)
Working with Attributes
475(2)
Filter Files with Wildcards
477(1)
Retrieving File Version Information
477(1)
The Path Class
478(2)
A File Browser
480(5)
Reading and Writing Files with Streams
485(10)
Text Files
486(2)
Binary Files
488(1)
Uploading Files
489(1)
Making Files Safe for Multiple Users
490(4)
Compression
494(1)
Serialization
495(3)
Summary
498(3)
PART 3 Building ASP.NET Websites
User Controls
501(22)
User Control Basics
502(2)
Creating a Simple User Control
502(2)
Converting a Page to a User Control
504(1)
Adding Code to a User Control
504(10)
Handling Events
504(2)
Adding Properties
506(2)
Using Custom Objects
508(2)
Adding Events
510(3)
Exposing the Inner Web Control
513(1)
Dynamically Loading User Controls
514(4)
Portal Frameworks
515(3)
Partial Page Caching
518(3)
VaryByControl
519(1)
Sharing Cached Controls
520(1)
Summary
521(2)
Themes and Master Pages
523(30)
Standardizing Website Formatting
523(3)
Cascading Style Sheets
523(3)
Themes
526(10)
Theme Folders and Skins
527(1)
Applying a Simple Theme
528(1)
Handling Theme Conflicts
529(1)
Creating Multiple Skins for the Same Control
530(1)
Skins with Templates and Images
531(2)
Using CSS in a Theme
533(1)
Applying Themes Through a Configuration File
534(1)
Applying Themes Dynamically
535(1)
Standardizing Website Layout
536(1)
Master Page Basics
537(10)
A Simple Master Page
537(2)
A Simple Content Page
539(2)
Design-Time Quirks with Master Pages
541(2)
Default Content
543(1)
A More Practical Master Page
544(1)
Master Pages and Relative Paths
545(1)
Master Pages and Formatting
546(1)
Applying Master Pages Through a Configuration File
547(1)
Advanced Master Pages
547(5)
Specifying a Title and Metatags for a Content Page
547(1)
Interacting with the Master Page Class
548(2)
Dynamically Setting a Master Page
550(1)
Nesting Master Pages
550(2)
Summary
552(1)
Website Navigation
553(46)
Pages with Multiple Views
553(12)
The MultiView Control
554(4)
The Wizard Control
558(7)
Site Maps
565(17)
Defining a Site Map
566(1)
Binding to a Site Map
567(2)
Breadcrumbs
569(2)
Binding Portions of a SiteMap
571(3)
Programmatic Navigation
574(1)
Binding Other Controls
575(1)
Adding Custom Site Map Information
576(1)
Creating a Custom SiteMapProvider
577(4)
URL Mapping
581(1)
The TreeView Control
582(9)
The TreeNode
583(2)
Populating Nodes on Demand
585(2)
TreeView Styles
587(4)
Menu Control
591(6)
Menu Styles
594(1)
Menu Templates
595(2)
Summary
597(2)
Resources and Localization
599(20)
Resources in .NET Applications
599(8)
Localization of Web Applications
607(11)
Localization and the Common Language Runtime
607(3)
Local Resources for a Single Page
610(5)
Sharing Resources Between Pages
615(2)
Localizing Static Text
617(1)
Text Directions
617(1)
Summary
618(1)
Website Deployment
619(50)
Internet Information Services (IIS)
619(16)
IIS and URL Processing
620(2)
Request Processing with IIS and ASP.NET
622(1)
IIS 5.x Process Model
623(4)
IIS 6.0 Process Model
627(5)
Installing IIS
632(3)
Managing Websites
635(7)
Creating a Virtual Directory
636(2)
Virtual Directories and Web Applications
638(1)
Folder Settings
638(4)
Managing Application Pools in IIS 6.0
642(7)
Creating Application Pools
643(2)
Application Pools and Web Applications
645(1)
Custom Application Pool Identities
646(3)
Deploying Your ASP.NET Applications
649(8)
Verifying the ASP.NET Installation
650(1)
ASP.NET Side-By-Side Execution
651(2)
Configure HTTP Runtime Settings
653(1)
Compilation Models
654(1)
Deploying with Visual Studio
655(2)
The VirtualPathProvider in ASP.NET 2.0
657(5)
Health Monitoring in ASP.NET 2.0
662(4)
Understanding the Basic Structure
662(1)
Events and Providers
663(3)
Summary
666(3)
PART 4 Security
The ASP.NET Security Model
669(22)
What It Means to Create Secure Software
669(3)
Understanding Potential Threats
670(1)
Secure Coding Guidelines
670(1)
Understanding Gatekeepers
671(1)
Understanding the Levels of Security
672(4)
Authentication
672(1)
Authorization
673(1)
Confidentiality and Integrity
674(1)
Pulling It All Together
675(1)
Internet Information Services Security
676(8)
IIS Authentication
677(1)
IIS Authorization
678(1)
IIS and Secure Sockets Layer
679(5)
ASP.NET Security Architecture
684(6)
Authentication
686(1)
Authorization
687(1)
The Security Context
688(1)
Membership and Roles APIs
689(1)
Summary
690(1)
Forms Authentication
691(18)
Introducing Forms Authentication
691(5)
Why Use Forms Authentication?
692(1)
Why Would You Not Use Forms Authentication?
693(2)
Why Not Implement Cookie Authentication Yourself?
695(1)
The Forms Authentication Classes
696(1)
Implementing Forms Authentication
696(12)
Configuring Forms Authentication
697(2)
Denying Access to Anonymous Users
699(1)
Creating a Custom Login Page
700(5)
Custom Credentials Store
705(1)
Persistent Cookies in Forms Authentication
706(2)
Summary
708(1)
Membership
709(42)
Introducing the ASP.NET Membership API
709(2)
Using the Membership API
711(12)
Configuring Forms Authentication
713(1)
Creating the Data Store
714(4)
Configuring Connection String and Membership Provider
718(3)
Creating and Authenticating Users
721(2)
Using the Security Controls
723(21)
The Login Control
724(8)
The LoginStatus Control
732(1)
The LoginView Control
733(1)
The PasswordRecovery Control
734(5)
The ChangePassword Control
739(1)
The CreateUserWizard Control
740(4)
Using the Membership Class
744(5)
Retrieving Users from the Store
745(2)
Updating Users in the Store
747(1)
Creating and Deleting Users
748(1)
Validating Users
748(1)
Summary
749(2)
Windows Authentication
751(26)
Introducing Windows Authentication
751(9)
Why Use Windows Authentication?
752(1)
Why Would You Not Use Windows Authentication?
753(1)
Mechanisms for Windows Authentication
753(7)
Implementing Windows Authentication
760(6)
Configuring IIS
760(2)
Configuring ASP.NET
762(1)
Denying Access to Anonymous Users
762(1)
Accessing Windows User Information
763(3)
Impersonation
766(10)
Impersonation in Windows 2000
766(2)
Impersonation on Windows XP
768(1)
Impersonation and Delegation on Windows Server 2003
768(3)
Configured Impersonation
771(2)
Programmatic Impersonation
773(3)
Summary
776(1)
Authorization and Roles
777(26)
URL Authorization
777(6)
Authorization Rules
778(5)
File Authorization
783(1)
Authorization Checks in Code
784(2)
Using the IsInRole() Method
784(1)
Using the PrincipalPermission Class
784(2)
Using the Roles Service for Role-Based Authorization
786(11)
Using the LoginView Control with Roles
792(1)
Accessing Roles Programmatically
793(2)
Using the Roles Service with Windows Authentication
795(2)
Protecting Non--Web Page Resources
797(4)
Adding a File Type Mapping
798(1)
Writing a Custom HTTP Handler
799(2)
Summary
801(2)
Profiles
803(36)
Understanding Profiles
803(3)
Profile Performance
803(1)
How Profiles Store Data
804(1)
Profiles and Authentication
805(1)
Profiles vs. Custom Data Components
805(1)
Using the SqlProfileProvider
806(16)
Creating the Profile Tables
806(3)
Configuring the Provider
809(1)
Defining Profile Properties
809(1)
Using Profile Properties
810(2)
Profile Serialization
812(2)
Profile Groups
814(1)
Profiles and Custom Data Types
814(4)
The Profiles API
818(2)
Anonymous Profiles
820(2)
Building a Shopping Cart
822(6)
The Shopping Cart Classes
823(2)
The Test Page
825(3)
Multiple Selection
828(1)
Custom Profiles Providers
828(9)
The Custom Profiles Provider Classes
828(2)
Designing the FactoredProfileProvider
830(1)
Coding the FactoredProfileProvider
831(4)
Testing the FactoredProfileProvider
835(2)
Summary
837(2)
Cryptography
839(28)
Encrypting Data: Confidentiality Matters
839(1)
The .NET Cryptography Namespace
840(3)
Understanding the .NET Cryptography Classes
843(5)
Symmetric Encryption Algorithms
844(1)
Asymmetric Encryption
845(1)
The Abstract Encryption Classes
846(1)
The ICryptoTransform Interface
846(1)
The CryptoStream Class
847(1)
Encrypting Sensitive Data
848(13)
Managing Secrets
848(2)
Using Symmetric Algorithms
850(5)
Using Asymmetric Algorithms
855(3)
Encrypting Sensitive Data in a Database
858(3)
Encrypting the Query String
861(5)
Wrapping the Query String
862(2)
Creating a Test Page
864(2)
Summary
866(1)
Custom Membership Providers
867(30)
Architecture of Custom Providers
867(2)
Basic Steps for Creating Custom Providers
869(25)
Overall Design of the Custom Provider
869(1)
Designing and Implementing the Custom Store
870(6)
Implementing the Provider Classes
876(16)
Using the Custom Provider Classes
892(2)
Summary
894(3)
PART 5 Advanced User Interface
Custom Server Controls
897(42)
Custom Server Control Basics
898(10)
Creating a Bare-Bones Custom Control
898(2)
Using a Custom Control
900(1)
Custom Controls in the Toolbox
901(2)
Creating a WebControl That Supports Style Properties
903(3)
The Rendering Process
906(2)
Dealing with Different Browsers
908(5)
The HtmlTextWriter
908(1)
Browser Detection
909(1)
Browser Properties
910(2)
Adaptive Rendering
912(1)
Control State and Events
913(8)
View State
913(2)
Control State
915(2)
Postback Data and Change Events
917(2)
Triggering a Postback
919(2)
Extending Existing Web Controls
921(8)
Composite Controls
921(3)
Derived Controls
924(5)
Templated Controls
929(9)
Creating a Templated Control
929(3)
Using Customized Templates
932(4)
Styles
936(2)
Summary
938(1)
Design-Time Support
939(34)
Design-Time Attributes
940(6)
The Properties Window
940(4)
Attributes and Inheritance
944(1)
The Toolbox Icon
944(2)
Web Resources
946(2)
Code Serialization
948(16)
Type Converters
948(7)
Serialization Attributes
955(6)
Type Editors
961(3)
Control Designers
964(3)
A Basic Control Designer
964(3)
Smart Tags
967(4)
The Action List
967(2)
The DesignerActionItem Collection
969(2)
The Control Designer
971(1)
Summary
971(2)
JavaScript
973(38)
JavaScript Essentials
973(12)
JavaScript Events
974(2)
Script Blocks
976(7)
Rendering Script Blocks
983(2)
Script Injection Attacks
985(3)
Request Validation
985(2)
Disabling Request Validation
987(1)
Client Callbacks
988(6)
Creating a Client Callback
989(4)
Client Callbacks ``Under the Hood''
993(1)
Custom Controls with JavaScript
994(11)
Pop-Up Windows
995(3)
Rollover Buttons
998(3)
Dynamic Panels
1001(4)
Frames
1005(4)
Frame Navigation
1006(1)
Inline Frames
1007(2)
Summary
1009(2)
Dynamic Graphics and GDI+
1011(32)
The ImageMap Control
1011(5)
Creating Hotspots
1012(1)
Handling Hotspot Clicks
1013(1)
A Custom Hotspot
1014(2)
Drawing with GDI+
1016(12)
Simple Drawing
1017(2)
Image Format and Quality
1019(1)
The Graphics Class
1020(2)
Using a GraphicsPath
1022(2)
Pens
1024(2)
Brushes
1026(2)
Embedding Dynamic Graphics in a Web Page
1028(9)
Using the PNG Format
1029(1)
Passing Information to Dynamic Images
1030(3)
Custom Controls That Use GDI+
1033(4)
Charting with GDI+
1037(5)
Summary
1042(1)
Portals with WebPart Pages
1043(44)
Typical Portal Pages
1043(2)
Basic WebPart Pages
1045(9)
Creating the Page Design
1046(1)
WebPartManager and WebPartZones
1047(2)
Adding WebParts to the Page
1049(3)
Customizing the Page
1052(2)
Creating WebParts
1054(29)
Simple WebPart Tasks
1054(7)
Developing Advanced WebParts
1061(8)
WebPart Editors
1069(6)
Connecting WebParts
1075(6)
Authorizing WebParts
1081(1)
Final Tasks for Personalization
1082(1)
Clearing Personalization
1082(1)
Summary
1083(4)
PART 6 Web Services
Creating Web Services
1087(42)
Web Services Overview
1088(8)
The History of Web Services
1089(1)
Distributed Computing and Web Services
1090(1)
The Problems with Distributed Component Technologies
1091(1)
The Benefits of Web Services
1091(2)
Making Money with Web Services
1093(1)
The Web Service Stack
1093(3)
Building a Basic Web Service
1096(10)
The Web Service Class
1096(1)
Web Service Requirements
1097(3)
Exposing a Web Service
1100(3)
Testing a Web Service
1103(3)
Consuming a Web Service
1106(14)
The Proxy Class
1112(1)
Creating an ASP.NET Client
1113(2)
Creating a Windows Forms Client
1115(2)
Creating an ASP Client with MSXML
1117(2)
Creating an ASP Client with the SOAP Toolkit
1119(1)
Refining a Web Service
1120(8)
CacheDuration
1121(2)
EnableSession
1123(3)
BufferResponse
1126(1)
TransactionOption
1126(2)
Summary
1128(1)
Web Service Standards and Extensions
1129(44)
WS-Interoperability
1129(2)
SOAP
1131(13)
SOAP Encoding
1132(1)
SOAP Versions
1133(1)
Tracing SOAP Messages
1134(2)
The SOAP Envelope
1136(4)
The SOAP Header
1140(4)
WSDL
1144(8)
Viewing the WSDL for a Web Service
1144(2)
The Basic Structure
1146(4)
Implementing an Existing Contract
1150(2)
Customizing SOAP Messages
1152(19)
Serializing Complex Data Types
1152(5)
Customizing XML Serialization with Attributes
1157(3)
Customizing XML Serialization with IXmISerializable
1160(3)
Custom Serialization for Large Data Types
1163(6)
Schema Importer Extensions
1169(2)
Summary
1171(2)
Advanced Web Services
1173(36)
Asynchronous Calls
1173(10)
Asynchronous Delegates
1174(1)
A Simple Asynchronous Call
1175(3)
Concurrent Asynchronous Calls
1178(1)
Responsive Windows Clients
1179(3)
Asynchronous Services
1182(1)
Securing Web Services
1183(8)
Windows Authentication
1184(2)
Custom Ticket-Based Authentication
1186(1)
Tracking the User Identity
1187(1)
Authenticating the User
1188(1)
Authorizing the User
1188(1)
Testing the SOAP Authentication System
1189(2)
SOAP Extensions
1191(9)
Creating a SOAP Extension
1193(7)
The Web Services Enhancements
1200(8)
Installing the WSE
1201(2)
Performing Authentication with the WSE
1203(5)
Summary
1208(1)
Index 1209

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.