Training
Certifications
Books
Special Offers
Community




 
Microsoft® ASP.NET Programming with Microsoft Visual Basic® .NET Version 2003 Step By Step
Author G. Andrew Duthie
Pages 624
Disk N/A
Level Int/Adv
Published 04/23/2003
ISBN 9780735619340
Price $39.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Companion Content
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Index


Symbols
' (single quote character), 53
" (double quote character), 53
( ) (parentheses), 503
@ (at symbol), 296
_ (underscore character), 62
<%#expression%> syntax, 320, 321-23
<% %> syntax. See render blocks
<% %> tags, 69

A
access control
   NTFS, 174-75
   operating system selection and, 130
   security and, 154-55
Access Control Lists (ACLs), 174-75
accessibility variable, 57-58
Access, Microsoft, 293-94
account limitations, 146-47
ACLs (Access Control Lists), 174-75
ActiveX Data Objects (ADO), 275-76
AddAt method
   adding controls at runtime, 222
   adding controls programmatically, 236
AddCacheItemDependencies method, 453
AddCacheItemDependency method, 453
Add/Edit Application Extension Mapping dialog box, 388-89
AddFileDependencies method, 453
AddFileDependency method, 453
Add method
   adding controls at runtime, 222
   Application object, 88
   Cache class, 451, 452
Add New Item button, 41
Add New Project dialog box, 472
Add Or Remove Buttons, 26
Add Or Remove Programs
   IIS installation, 556
   removing unused services, 132-34
   uninstalling Web applications, 474
Add Project Output Group dialog box, 473
Add Reference, 430, 433
Add Table dialog box, 313
Add Tab, Visual Studio .NET Toolbox, 22
<add> tag, 202
AddTitle_TypedDS.aspx, 311
AddTitle.xsd, 310-11
Add Web Form, 41
Add Web Reference dialog box, 429-30
administrators. See also sa (system administrator)
   IIS installation, 556
   password security, 141
   security settings, 138
ADO (ActiveX Data Objects), 275-76
ADO.NET
   accessing data in Web services, 415
   overview of, 275
   XML support in, 279
ADO.NET Step by Step (Riordan), 275
AdRotator control, 253-56
advertisement files, 253-56
advertising, Web services, 418-20, 433
al.exe command tool, 468
alias attribute, <clientTarget>, 551
<allow> element, 175-77
allowOverride attribute, <location>, 123, 176
Application Configuration dialog box, 388, 389
application-level tracing, 480-81
Application.Lock( ) method, 90, 100
Application object, 87
application pools, 125
application roots
   physical paths vs. URLs, 463-65
   verifying directory in IIS, 460-63, 475
Application Server node, 132
Application state, 88-94
   limitations of, 93-94
   overview of, 88-90
   reading, 90-92
   recommendations for, 92-93
   synchronizing access to, 90
   writing, 90-92
Application.UnLock( ) method, 90, 100
ApplyAppPathModifier method, 105
appRequestQueueLimit attribute, <httpRuntime>, 517
<appSettings> element
   Application state and, 93
   overview of, 553-54
   storing database connection strings, 145, 466, 506-7
arrays
   binding to DataGrid, 325-26
   For...loops and, 70
.ascx extension, 37
.asmx extension, 37, 407
ASP classic. See also migrating ASP to ASP.NET
   <% %> tags in, 69
   ADO in, 275-76
   cookies, 95
   include files, 216
   Web Forms code, 209
AspCompat attribute, @ Page directive
   creating Web Forms, 191
   migration process and, 503, 508
ASP Intrinsic objects, Page class, 205
ASP.NET
   cookies and, 95
   event model, 365
   file types, 37-38
   project types, 33-37
   QuickStart Tutorial, 6
   Registration tool, 124
   server controls. See server controls
   Web applications. See Web applications
ASPNET account, 145-46, 284-86
aspnet_regis.exe, 124
asp: prefix, 234-35
aspxerrorpath query string, 116
.aspx extension, 35-37, 206
assemblies
   IIS permissions for subdirectories, 469-70
   installed in GAC, 468-69
   overview of, 5, 468
   private vs. shared, 358
   updating, 469
   versioning, 469
assembly attribute
   @ Register directive, 200
   <compilation>, 525
<assemblyBinding> element, 124-25
@ Assembly directive, 201-2
AssemblyName, Class attribute, 407
AssemblyVersionAttribute attribute, 358
Assert method, 497
at (@) symbol, 296
attributes
   @ Assembly directive, 202
   @ Control directive, 199-200
   @ Implements directive, 200
   @ Import directive, 200
   @ OutputCache directive, 203-4, 437-38
   @ Page directive, 190-94
   @ Register directive, 201
   case sensitivity in Web Forms, 228-29
   HTML control, 227-28
   metadata, 409
   server control, 273
   Web service, 408-11
attributes, configuration elements
   <appSettings>, 554
   <authentication>, 531-34
   <authorization>, 536-37
   <browserCaps>, 552-53
   <clientTarget>, 551
   <compilation>, 520-25
   <customErrors>, 528-30
   <globalization>, 515
   <httpHandlers>, 542-44
   <httpModules>, 545
   <httpRuntime>, 517
   <identity>, 535
   <machineKey>, 537-38
   <pages>, 526-28
   <processModel>, 547-50
   <securityPolicy>, 538-39
   <sessionState>, 541
   <trace>, 514
   <trust>, 540
   <webControls>, 551
auditing, 155-56
authentication, 161-73
   Forms-based, 166-73
   locking down configuration settings, 123
   overview of, 161
   Passport, 165
   passwords, 144
   selecting type of, 162
   Web services, 421-22
   Windows-based, 162-65
<authentication> element
   Forms, 169-70
   overview of, 530-34
   selecting authentication type, 162
   Windows, 164
Authentication Methods dialog box, 163-64
authorization
   ACL-based, 174-75
   locking down authorization settings, 181
   locking down configuration settings, 123
   overview of, 174-77
   URL-based, 175-77
<authorization> element
   overview of, 535-37
   RegLogin control, 386
   URL-based authorization, 175-77
AuthorsService.asmx
   consuming Web services, 429-32
   creating proxy classes, 428
   returning data from Web service, 415-18
AuthorsTrigger.aspx, 454-56
Authors.xsl, 288-92
AuthSuccess event handler, 392-93
autoEventWireup attribute
   @ Page directive, 191, 219
   <pages>, 526
Auto Format dialog box, 328-29
Auto Hide, 17
Available Certificates page, Web Server Certificate Wizard, 159

B
backups, 113
base classes
   inheritance, 350-51, 401
   overriding Render method of, 351
basic authentication, 162
batch attribute, <compilation>, 520
batchTimeout attribute, <compilation>, 520
block level variables, 56
Bold property, 25
boolean variables, 371
BoundColumn control, 328
Breakpoint Properties, 495-97
<browserCaps> element, 552-53
Browser property, 253
browser sniffing, 253
brute force attacks, 143
buffer attribute, @ Page directive, 191
buffer attribute, <pages> element, 526
BufferResponse property, WebMethod attribute, 410
bugs. See also debugging
   categories of, 485-86
   preventing, 486-87
   variable declaration and, 58
Build Errors tasks, Task List, 22
Building Web Solutions with ASP.NET and ADO.NET (Esposito), 275
Build menu, 28
builds, defined, 22, 46
Button1_Click event handler, 212, 239
Button_Click event handler, 168, 171
ButtonColumn control, 328
Button control
   event handler code, 45
   server controls, 238, 244
   username display, 170-71
ByRef
   migration process, 504, 512
   passing parameters, 60-61
ByVal
   migration process, 504, 512
   passing parameters, 60-61

C
C++ language, 6-7, 11-12
CacheAuthors.aspx, 447-50
CacheDependency parameter, 452
CacheDuration property, WebMethod attribute, 410
Cache property, Page class, 206
caching. See also output caching
   application state and, 93
   consuming cached data, 454-56
   data, 447-50
   defined, 31
   expiration, 450-51, 453-54, 457
   file dependencies, 452
   key dependencies, 452-53
   overview of, 435-36
   Response object and, 452-53
   scavenging and, 451
   session state and, 99
CacheItemPriority enumeration, 451
Calendar.aspx, 257-59
Calendar control, 256-59
Camel case, 55
Cascading Style Sheets (CSS), 20, 241
Case Else statement, 64
case sensitivity
   classes, 278
   namespaces, 278
   naming conventions, 55
   passwords, 143
   Web Forms, 228-29
Catch blocks, 74-75, 290
category view, XP Control Panel, 460
CD-ROMs, installation
   MSDN Library, 565-69
   Visual Studio .NET, 561-64
   Visual Studio .NET Prerequisites, 556-61
Certificate Services, 158
child directories, 176
C# language. See Visual C# .NET
Class attribute, 407
classes
   defined, 50
   inheritance, 80-82
   namespace specification and, 200, 223
   object-oriented programming, 80
   RegLogin example, 370
   server controls, 349-50
   SQL Server .NET Data Provider, 276-78
   Web services, 408-9
   Web Forms, 228
classic ASP. See ASP classic
classic view, Windows XP, 460
class library, .NET Framework
   inheritance, 6
   naming guidelines, 54
   overview of, 5-6
ClassName attribute, 209-10, 407-8
className attribute, @ Page directive, 191
Class View window, IDE, 20
ClearChildViewState method, Page class, 206
Clear method, Application object, 88
clientConnectedCheck attribute, <processModel>, 547
clientScriptsLocation attribute, <webControls>, 551
client/server applications, 127
client-side cookies, 105-7
client-side <script> blocks, 187
clientTarget attribute, @ Page directive, 191
<clientTarget> element, 551
ClientValidationFunction property, 261
Close method, SqlDataReader class, 319-20
CLR (common language runtime)
   data types, 52
   inheritance across languages, 83
   overview of, 4-5
   Web services, 407
CLS (Common Language Specification), 4, 52
code
   comments, 53
   formatting, 112
   migration process, 502-4
   searching for sample, 11-13
   security access, 178-79
   Web Forms, 207-9
code-behind
   inheritance from Page class, 206
   page-level events, 220, 223
   page lifetime and, 188
   user control caching, 441
   Web application deployment, 467
   Web Forms, 35-36, 233
codebehind attribute, @ Page directive, 191
codebehind class, 358
code declaration blocks
   defined, 187
   migration process, 502, 508, 512
   Web Forms, 207-8
codePage attribute, @ Page directive, 191
@ Codepage directive, 190
columns
   bound data and, 328
   creating objects programmatically, 298-303
comAuthenticationLevel attribute, <processModel>, 547
COM components, 5
comImpersonationLevel attribute, <processModel>, 547
CommandBehavior.CloseConnection argument, 319
Command control, 267, 269-70
Command mode, Command window, 16
CommandText property, SqlCommand class, 287-88
Command window, Visual Studio .NET, 16
comments
   ASP.NET configuration files, 110, 114
   overview of, 53
   Web services, 412
Comment tasks, Task List, 22
common language runtime. See CLR (common language runtime)
Common Language Specification (CLS), 4, 52
CompareValidator control, 261, 264-66
compatibility, MSDE, 294
<compilation> element, 519-25
compiled controls. See server controls
compilerOptions attribute, 192, 523
compositional controls, 398-401
Compound.ascx, 210-13
CompoundContainer.aspx, 213-15
CompoundProgrammatic.aspx, 215-16
configuration, 109-26
   application-specific settings, 465-66, 475
   custom 404 handler, 114-19
   editing configuration files, 112-13
   IIS directory, 460-63
   improvements to, 31
   locking down settings, 123
   .NET Framework and, 124-25
   overriding settings, 122
   overview of, 109-11
   removing HttpModule, 119-22
   Web.config file, 111-13
configuration elements
   <appSettings>, 553-54
   <authentication>, 530-34
   <authorization>, 535-37
   <browserCaps>, 552-53
   <clientTarget>, 551
   <compilation>, 519-25
   <customErrors>, 528-30
   <globalization>, 514-15
   <httpHandlers>, 542-44
   <httpModules>, 544-45
   <httpRuntime>, 516-18
   <identity>, 534-35
   <machineKey>, 537-38
   <pages>, 525-28
   <processModel>, 546-50
   <securityPolicy>, 538-39
   <sessionState>, 540-41
   <trace>, 513-14
   <trust>, 539-40
   <webControls>, 551
Configuration Manager, 197-98
ConfigurationSettings.AppSettings, 466
Configuration Settings class, 93
<configuration> tags, 111
connections
   closing, 280, 290, 318-19
   OleDbConnection, 282-83, 343
   SqlConnection, 279-82, 343
   trusted, 283-86
connection strings
   OleDbConnection, 282-83
   SqlConnection keys, 280-82
   SQL Server security and, 104
console applications, 14
constants, 58-59
consuming, Web services, 429-32, 433
Contents property
   Application object, 88
   Session object, 95
contentType attribute, @ Page directive, 192
contractRef nodes, discovery file, 419
Control class
   compositional controls, 398-99
   Render method, 373
   server controls, 348
   UI-related features and, 351
@ Control directive
   overview of, 199-200
   user controls, 209-10
   Web application deployment, 467
Control Panel, Windows XP, 460
controls. See also HTML controls; server controls; Web controls
   binding to, 321-23
   control tree, 221
   event execution order, 368-69
   event handling, 45, 219-20
   Page class, 205
   runtime, 222-23
   Web Forms, 42, 44-45
Controls collection
   adding controls programmatically, 235-36
   defined, 205
   manipulating controls, 399
ControlToCompare property, 261
ControlToValidate property, 260-61, 273
control tree, 221
cookieless attribute, <sessionState>, 101, 104-5, 541
cookies
   ASP.NET and, 95
   client-side, 105-7
   persistent, 106-7
copy project command, 471
Copy Project Dialog box, 471
cpuMask attribute, <processModel> element, 548
CreateBlankUsersFile method, 382, 385
CreateChildControls method, 348-49, 398-99
cross-site scripting (XSS) attacks, 149
CSS (Cascading Style Sheets), 20, 241
CssClass property, 241
CSS editor, 20
culture attribute
   @ Page directive, 192
   <globalization>, 515
currency formats, 362
Current version, updating datasets, 308
<customErrors> element
   configuring custom 404 handler, 117
   debugging risks and, 196
   overview of, 528-30
   removing HttpModule, 120-21
customization. See also server controls, custom
   404 handler, 114-19
   configuration files, 465-66
   menus, 28
   Visual Studio .NET and, 28-29
Customize Toolbox dialog box, 355
CustomValidator control, 261

D
data access. See also datasets
   ADO.NET, 276-79
   connections, 279-86
   DataReader objects, 318-19
   OleDbCommand class, 292-94
   SqlCommand class, 286-92
   stored procedures, 295-97
DataAdapter
   Configuration Wizard, 311-14
   overview of, 297-98
   typed datasets and, 311
databases
   Microsoft Access, 293-94
   SQL Server, 146-47, 571-72
   storing connection strings, 145, 466, 506-7
DataBinder.Eval, 323
data binding, 319-43. See also data-bound controls
   to controls, 321-22
   DataBinder.Eval, 323
   DataList controls and, 337-43
   overview of, 319-20
   simple, 320
DataBinding events, 368
DataBind method, 319-20
data-bound controls. See also DataGrid control
   applying, 323-24
   overview of, 266
DataColumnCollection, 305-6
DataColumn objects, 298-303
DataGrid.aspx, 325-26
DataGrid control, 324-37
   binding arrays to, 325-26
   binding live data to, 326-28
   deleting data in, 334-37
   editing data in, 334-37
   formatting, 328-32, 328-32
   overview of, 511
   reading data with, 295-97
   sorting, 332-34, 332-34
   steps in applying, 324
DataGridEdit.aspx
   binding arrays to DataGrid, 326-28
   formats, 328-32
   sorting DataGrid, 332-34
DataKeyField property, 335
Data Link Properties dialog box, 312
DataList control
   binding to, 337-40
   overview of, 337
   Repeater control and, 340-43
data providers
   OLE DB.NET, 276-77
   overview of, 283
   SQL Server .NET, 276, 277-78
DataReaders
   migration process, 511
   OleDbDataReader class, 319
   overview of, 318
   SqlDataReader class, 318-19
DataRelations, 304
DataRowCollection, 305-6
DataRow objects, 298-303, 304-7
datasets, 297-318
   caching, 447-50
   DataAdapter objects, 297-98
   DataColumn objects, 298-303
   DataRow objects, 298-303
   DataTable objects, 298-303
   DataView objects, 317-18
   overview of, 278-79, 297
   relationships, 304
   typed, 309-17
   updating, 308-9
   values, 304-7
   Web services, 415
   XML and, 279
   XML data, 298
Data Shaping Service for OLE DB, 319
DataTableCollection, 305-7
DataTable objects
   accessing dataset values, 304-7
   overview of, 298-303
data types
   overview of, 51-52
   TextTypes, 361
   value types vs. reference types, 52-53
   Web services primitive, 415
DataView objects
   data binding, 333-34, 343
   filtering with, 297
   overview of, 316-17
dates, Now keyword, 70-71
daTitles, 314-15
DCOM (Distributed COM), 404
DDoS (Distributed Denial of Service) attacks, 128
Debug attribute, <compilation>, 520
debug attribute, @ Page directive, 192, 196, 507
debugging
   bug categories, 485-86
   bug prevention, 486-87
   Debug.Assert messages, 491, 497
   Debug menu, 28
   Debug toolbar, 27
   disabling, 488-90
   enabling, 195-98
   error messages and, 490
   short-term migration and, 507
   Visual Studio .NET debugger, 472-79
   Web Forms debug mode, 487-89
decimal formats, 362
declarative technique
   data binding, 319
   output caching, 436-38
   server controls, 234-35
   user controls, 213-15
decryption key attribute, <machineKey>, 537-38
defaultLanguage attribute, <compilation>, 521
defaultRedirect attribute, <customErrors>, 528
DefaultValue attribute, LabelText property, 361
DefaultValue property, 308
DeleteCommand event, 336
demilitarized zone (DMZ), 151
<deny> element
   HTTP methods, 176-77
   URL-based authorization, 175-76
deployment, 459-75
   application-specific configuration settings and, 465-66
   IIS directory configuration and, 460-63
   manual, 467-70
   overview of, 460
   physical path vs. URL and, 463-65
   Visual Studio .NET options, 471-74
description attribute, @ Page directive, 192
Description property, WebMethod attribute, 410
Designer/Source Editor window, IDE, 19-20, 24
Designing Secure Web-Based Applications for Microsoft Windows 2000 (Howard), 129
Design mode, Web Forms, 43, 44-45
Destination Folder page, 567
Details dialog box, 132
DeviceSpecific control, 268
dictionary attacks, 143
Digest authentication, 162-63
Dim keyword, 83
directives, 190-205
   @ Assembly directive, 201-2
   @ Control directive, 199-200
   @ Import directive, 200
   @ OutputCache directive, 201-5
   @ Page examples, 195-99
   @ Reference directive, 205
   @ Register directive, 201
   defined, 187
   overview of, 190-94
directories
   authorization settings, 176
   copying files to target, 467-69
   IIS configuration, 460-63
   IIS permissions, 469-70
   overriding configuration settings, 122
   target deployment, 467
Directory Security tab, IIS, 157, 159
Directory tab, Internet Services Manager, 470
disco.exe utility, 423-24
.disco extension, 419-20
discovery documents
   advertising Web services, 419-20
   locating Web services, 423-24
discoveryRef nodes, discovery file, 419
discussion forums, Microsoft, 49
DisplayDataSetItems.aspx, 305-7
DisplayMode property, 262
Display property, Validation controls, 260
Dispose phase, 369
Distributed COM (DCOM), 404
Distributed Denial of Service (DDoS) attacks, 128
DivByZero.aspx, 487-88, 488-90, 491-97
.dll files, 389
DMZ (demilitarized zone), 151
docRef attribute, discovery file, 419
DocumentContent property, 290
Do... loops, 71-72
DoS (Denial of Service) attacks, 129
dotnetfx.exe program, 474
double quote (") characters, 53
Do...While loops. See Do... loops
DropDownList control, 237-40, 364
durability
   Application state, 93
   Session state, 94
Duration attribute, @ OutputCache directive, 203-4, 437-38
Dynamic Help window, 18-19

E
Each... loops, 70-71
EditButtonColumn control, 328
Edit menu, 27
Edit System Variable dialog box, 573
Else statement, 63
e-mail, sending, 242-47
emulators, 271
enable attribute, <processModel>, 548
EnableClientScript property, Validation controls, 260
enabled attribute, <trace>, 514
Enabled property, Validation controls, 260
enableKernelOutputCache attribute, <httpRuntime>, 517
EnableSession property, WebMethod attribute, 410
enableSessionState attribute
   @ Page directive, 192
   <pages>, 527
   enabling, 96-97
@ EnableSessionState directive, 190
enableVersionHeader attribute, <httpRuntime>, 517
enableViewState attribute
   @ Page directive, 192
   <pages>, 527
enableViewStateMac attribute
   @ Page directive, 192, 397
   <pages>, 527
encapsulation, 79
encryption. See also SSL (Secure Sockets Layer)
   password protection, 145
   storing sensitive data, 107
Enter_ServerClick event handler, 232
enumerations, 59, 371
Environment Variables, 573
ErrorHandler label, 73
error handling, 72-78. See also debugging
   application configuration and, 125
   custom 404 handler, 114-19
   disabling debugging and, 489
   On Error statement and, 73-74
   exception handling, 74-78
   overview of, 72-73
   Web Forms pages, 220
ErrorMessage property, Validation controls, 260
error messages, ASP.NET, 490
errorPage attribute, @ Page directive, 192
EventArgs, 365, 367
event-based programming, 502
EventHandler, 365-66, 378
event handling
   DataGrid, 332-34
   DataList, 339
   defined, 187
   server controls, 366-67
   Web applications, 45
   Web Forms, 216-20, 223
Event keyword, 366
EventName, 366-67
events
   creating, 365-66
   execution order, 368-69
   overriding inherited, 368
   raising, 365-66
   RegLogin control, 378-82
exception handling
   defined, 73
   errors, 74
   Try...Catch...Finally, 74-75
Exceptions.aspx, 75-78
ExecuteReader.aspx, 295-97
ExecuteReader method, 319
ExecuteScalar.aspx, 293-94
ExecuteScalar method, 292-93
ExecuteXmlReader.aspx, 288-90, 298
ExecuteXmlReader method, 290
executionTimeout attribute, <httpRuntime>, 517
Exit command, 30
expiration, cache, 450-51
explicit attribute
   @ Page directive, 193
   <compilation>, 521
Export Template menu option, 139
expressions, 50-51
extension attribute, <compilation>, 523

F
fileEncoding attribute, <globalization>, 515
File menu, 27
files
   ASP.NET types, 37-38
   dependencies, 452
   hidden, 14
   saving, 30
   securing users, 387-90
File Transfer Protocol (FTP), 150
Fill method, 297-98
filters, DataView, 317
Finally blocks, 74-75
FindControl method
   Control class, 400
   Page class, 206, 222-23
Find method, 318
firewalls, 150-51
flow control, 62-72
   Do... loops, 71
   For Each... loops, 70-71
   For... loops, 69-70
   If statements, 63
   looping statements, 69
   Select Case statements, 63-68
   While...End loops, 71-72
FlowLayout mode
   caching datasets, 447
   custom controls, 355, 359
   defined, 42
   page-level tracing, 478-79
   rows, adding to tables, 299
   server controls, 237
   user controls, 211
   Web Form properties, 43-44
fnf.aspx, 114-19
Font property, 25, 241
ForeColor property, Validation controls, 260
For... loops, 69-70
FormatCurrency method, 362
Format method, 362
formats
   code, 29
   DataGrid, 328-32
   language, 112
   settings, 20
Formatting toolbar, IDE, 27
Form control, 267, 268
Forms Authentication, RegLogin control, 386-91
Forms-based authentication
   overview of, 166-73
   protecting password storage, 145
<forms> element, 170, 173
<form> tag, page lifetime, 189
FPSE (FrontPage Server Extensions), 556
FragmentCache.aspx, 442-43
Friend keyword, 57
FrontPage Server Extensions (FPSE), 556
FTP (File Transfer Protocol), 150
fully qualified URLs, 516
Function procedures
   overview of, 62
   parentheses requirement, 503

G
GAC (Global Assembly Cache)
   automatically installing shared assemblies in, 474
   manual deployment and, 468-69
   sharing assemblies via, 358
gacutil.exe, 358, 469
Generate DataSet dialog box, 315
GetAuthors, 416-17
GetAuthors2.aspx, 510-11
GetAuthors.asp, 504-7
GetXml method, 290
Global.asax file
   Application state and, 89-90
   Mobile Web Applications and, 37
   overview of, 37-38
   physical path vs. URL, 463-64
   Web applications and, 34
Global Assembly Cache. See GAC (Global Assembly Cache)
<globalization> element, 514-15
GridLayout mode
   defined, 42
   page-level tracing, 478
   server controls, 237

H
Handles keyword
   control events, 220
   page events, 219
hashed passwords, 145, 169-70
HashPasswordForStoringInConfigFile method, 145
HasRows property, 319
headers, Repeater control, 340-43
HeaderText property, 262
Hello.aspx page, 41
HelloSimple.aspx, 185-86
Hello World, 411-15
Help menu, 28
hidden form fields, 189
hisecweb.inf template, 139, 143
Howard, Michael, 129
HtmlControl class, 227
HTML controls, 225-33
   attributes, 273
   case sensitivity, 228-29
   defined, 31
   event handling, 273
   examples of, 229-30
   list items, 230-33
   mapping HTML elements to, 226-28
   overview of, 225-26
   Web controls vs., 228, 234
HTML editor, 17, 20
HTML (Hypertext Markup Language)
   adding new row to table, 299-301
   comments, 187
   constructing HTML elements programmatically, 372
   mapping HTML elements to HTML controls, 226-28
   rendering controls and, 349
   static HTML tags, 187
HtmlInputButton control, 244
HtmlSelect.aspx, 230-33
HTMLTextWriter class, 372, 376
HttpApplicationState class, 88. See also Application state
HttpCachePolicy class, 446
<httpHandlers> element, 542-44
HTTP (HyperText Transfer Protocol)
   authorizing verb type access, 176-77
   POST requests, 364
   as stateless protocol, 87
   Web services and, 404-5
HttpModules, 119-22
<httpModules> element, 119-22, 544-45
HttpResponse class, 452-53
<httpRuntime> element, 516-18
HttpSessionState class, 95. See also Session state
HyperlinkColumn control, 328

I
id attribute, 89, 235
<identity> element, 177, 534-35
idleTimeout attribute, <processModel> element, 548
IDL (Interface Definition Language), 404
IE (Internet Explorer)
   caching, 440, 442, 445, 449, 455
   configuration, 119, 121-22
   custom server controls, 357, 394
   data access, 289-90, 294, 296, 303, 316
   data binding, 322, 325-27, 331, 333, 336-39, 342-43
   deployment, 479, 483, 488-89
   displaying pages in, 15
   security, 152, 163, 172-73
   server controls, 246-47, 253, 263
   Web Forms, 193, 214
   Web services, 413, 416-17, 431
If statements, 63
IIS (Internet Information Services)
   application pools, 125
   authentication, 161, 163-64
   directory configuration, 460-63
   installing, 556
   logging, 155-56
   Passport authentication, 165
   permissions for subdirectories, 469-70
   physical path vs. URL, 463-65
   principle of least privilege, 146
   removing unused services, 132
   Run As feature, 387
   sample applications and, 147
   SSL certificates, 157-59
   trusted connections, 177-78
   Web service authentication, 421
IL (Microsoft Intermediate Language), 4-5
impersonate attribute, <identity>, 177, 535
impersonation
   consequences of, 129
   overview of, 177-78
   trusted connections, 145, 283
   Windows authentication, 164
Implements keyword, 364
@ Import directive, 200, 223
Imports clause
   adding new row to table, 302
   iterating over DataTable collection, 305
   reading data, 295
   typed datasets, 315
Imports directive, 358
INamingContainer interface, 399
#Include directive, 190
include files, 216
inheritance
   base classes, 82, 350-51, 401
   defined, 79
   object-oriented programming and, 80-82
   overriding, 368
   overview of, 6
   Page class, 206
   page lifetime and, 188
   RegLogin control, 370
   specialization of controls, 348
   WebService class, 408
inherits attribute, @ Page directive, 193
Inherits attribute, @ Page directive, 206, 467
Inherits keyword, 81
Init events, 368
Initialize phase, 368
InitialValue property, 262
InProc (in-process) setting, 101
In Progress page, MSDN Library, 568
Insert method, Cache class, 451, 452
Install Certificate, 158-59, 160-61
Install dialog box, 563
installing Visual Studio .NET. See Visual Studio .NET, installing
Integrated Windows authentication. See Windows authentication
IntelliSense
   statement completion, 20
   Task List, 22
interface attribute, @ Implements directive, 200
Interface Definition Language (IDL), 404
Intermediate Language (IL), 4-5
Intermediate mode, Command window, 16
Internet Explorer. See IE (Internet Explorer)
Internet Information Services. See IIS (Internet Information Services)
Internet Services Manager
   directory configuration, 460-63
   IIS authentication, 163-64
   permissions for subdirectories, 470
   SSL certificates, 157-61
IPostBackDataHandler, 378
IPostBackEventHandler, 378
IP Security Policy Management MMC snap-in, 150
IsEnabled property, 482
IsPostBack method, 362
IsPostBack property, Page class, 205
IsValid property, Validation controls, 260
<ItemTemplate>, 339

J
JavaScript, 189
JIT (Just-In-Time), 4
JScript.NET, 6-7
Just-In-Time (JIT), 4

K
key attribute, <appSettings>, 554
keyboard, configuring, 10-11
key dependencies, 452, 457
keys, SqlConnection connection string, 280-82

L
Label controls
   AdRotator control, 254
   binding data to, 321-23
   Calendar control, 257
   configuring application with, 115-16
   login pages, 167-68
   Mobile Web Forms, 269
   server controls, 238, 243
   styles added to, 240-42
   user controls, 210-11
   username display page, 170-71
   Web Forms, 44, 65
LabelText property
   custom server controls, 356, 361
   TextBox controls, 353
language
   common language runtime, 4-5
   inheritance, 83
   migration process and, 503-4, 508
   MultiLanguage IDE, 16
   .NET, 6-9
   settings for, 112
   syntax errors, 485
@ Language directive, 190, 502, 508
LCID attribute, @ Page directive, 193
@ LCID directive, 190
Let statements, 503
level attribute, <trust> element, 540
license agreements, MSDN Library, 566
lifetime variable, 54-55, 57
line continuation character, 62
line number display, 29
Link control, mobile, 267
List control, mobile, 268
Load events, 368
Load phase, 369
LoadPostData
   method, 364-65, 396
   overview of, 378-79
   phase, 368
LoadViewState phase, 368
localOnly attribute, <trace>, 514
Local Security Policy editor, 134
Locals window, 493
Location attribute, @ OutputCache, 203-4, 437-38
<location> element
   locking down configuration settings, 123
   RegLogin control, 387
   URL-based authorization, 176
Lock method, Application state, 90
logging, 155-56
logic errors, 72, 486
login. See also RegLogin control
   Forms-based authentication, 166-69
   SQL Server, 283-84
   Web service authentication, 422
Login.aspx, 166-69
loginURL attribute
   <authentication>, 531
   <forms>, 173
logLevel attribute, <processModel> element, 548
long-term migration, 509-10
looping statements, 69-72
   Do... loops, 71
   Each... loops, 70-71
   For... loops, 69-70
   While...End loops, 71-72

M
machine.config file
   comments and, 114
   editing, 113
   overview of, 109-11
   protecting password storage, 145
   storing sensitive data, 466
<machineKey> element, 537-38
MakeServices.bat, 428-29
managed code, 5
master (root) configuration file. See machine.config
match attribute, <browserCaps> element, 553
maxBatchGeneratedFileSize attribute, <compilation> element, 521
maxBatchSize attribute, <compilation> element, 521
MaximumValue property, 261
maxIoThreads attribute, <processModel> element, 548
maxRequestLength attribute, <httpRuntime> element, 518
maxWorkerThreads attribute, <processModel> element, 548
MBSA (Microsoft Baseline Security Analyzer) tool
   identifying samples, 148
   patches, 152-54
   unnecessary services, 131
member variables, RegLogin control, 371
memory
   Application state, 94
   scalability and, 100-101
   Session state, 99
memoryLimit attribute, <processModel>, 548
menus, 27-28
MessageName property, WebMethod attribute, 410
metadata attributes, 409
methods
   Application object, 88-89
   custom server controls, 362-63
   event execution order, 368-69
   object-oriented programming, 78-79
   Page class, 205-6
   postback, 364-65
   Session state, 95-96
   Validate, 260
Microsoft Access, 293-94
Microsoft ADO (ActiveX Data Objects), 5
Microsoft Baseline Security Analyzer. See MBSA (Microsoft Baseline Security Analyzer) tool
Microsoft FrontPage Server Extensions, 556
Microsoft Intermediate Language (MSIL), 4-5
Microsoft Internet Explorer. See IE (Internet Explorer)
Microsoft Management Console. See MMC (Microsoft Management Console)
Microsoft.NET. See .NET
Microsoft Notepad, 7
Microsoft Passport. See Passport authentication
Microsoft Product Security Notification service, 152
Microsoft programming newsgroups, 49
Microsoft Visual Studio .NET. See Visual Studio .NET
Microsoft Windows 2000. See Windows 2000
Microsoft Windows authentication. See Windows authentication
Microsoft Windows Explorer. See Windows Explorer
Microsoft Windows Installer. See Windows Installer
Microsoft Windows Server 2003, 555-56
Microsoft Windows Update site, 151, 154
Microsoft Windows XP. See Windows XP
migrating from ASP to ASP.NET
   GetAuthors2.aspx, 510-11
   GetAuthors.asp, 504-7
   language changes, 503-4
   long-term migration, 509-10
   making ASP pages work in ASP.NET, 508-9
   page structure changes, 501-3
   short-term migration, 507-8
minFreeThreads attribute, <httpRuntime>, 518
MinimumValue property, 261
minLocalRequestFreeThreads attribute, <httpRuntime>, 518
MMC (Microsoft Management Console)
   accessing security templates, 135
   applying security templates, 139-40
   creating/saving custom consoles, 135
   defining security policies, 134
Mobile Web Applications, 33-34, 36-37
MobileWebForm1.aspx, 268-72
Mobile Web Forms controls, 266-72
   creating mobile Web Forms page, 268-72
   defined, 32
   overview of, 266-68
mode attribute
   <authentication>, 531
   <customErrors>, 529
   <sessionState>, 541
module level variables, 56
modules, 50
MSDataShape OLE DB Provider, 319
MSDE
   installing, 571-72
   overview of, 294
   password security and, 141, 145
   sa password, 142-43, 180
   VSdotNET instance, 285
MSDN Library
   guidelines for structuring code, 173
   installing, 565-69
   overview of, 50
   storing sensitive data, 466
   Web services, 426
MSDN Library Setup Wizard, 565-69
MSIL (Microsoft Intermediate Language), 4-5
MTA (multi-threaded apartment), 503
MultiLanguage IDE, Visual Studio .NET, 16
multi-threaded apartment (MTA), 503
My Profile tab, Visual Studio .NET Start Page, 10-11

N
name attribute
   @ Assembly directive, 202
   <authentication>, 531, 533
   <httpModules>, 545
   <securityPolicy>, 539
Namespace attribute
   @ Import directive, 200
   @ Register directive, 201
Namespace...End Namespace syntax, 56
Namespace keyword, 349
namespace level variables, 56
NamespaceName, Web services, 407
namespaces
   case sensitivity, 228-29, 278
   classes grouped by, 80
   custom server controls, 349
   defined, 50
   importing, 200, 223
   overview of, 5-6
   variable, 56
   Web services and, 408-9, 415, 433
naming conventions
   case sensitivity, 55, 228-29, 278
   event handling, 220
   GAC assemblies, 468
   page titles, 440
   parameters, 296
   scope, 57
   SQL Server .NET Data Provider classes, 278
   variables, 54
nesting, namespaces, 56
.NET
   C# and, 8
   common language runtime, 4-5
   data providers, 276-78, 283
   garbage collector, 6
   inheritance, 6
   languages, 5-9
   managed assemblies, 5
   Passport authentication, 165, 181
   paths to common tools, 572-74
   QuickStart samples, 147-48
   SDK, 352
   text editors, 7
   tools, 6-9
   Visual Basic .NET, 8
   Visual Studio .NET, 7
.NET Framework
   ADO.NET datasets, 275
   class library, 5-6
   configuring, 124-25
   installing, 559
   languages, 6-9
   overview of, 3-4
   SDK debugger, 490
Network Service, 177-78
newgroups, Microsoft programming, 49
New Project dialog box, 39-40, 64-68
Next_Click event handler, 252
ngen.exe, 5
Northwind.mdb database, 292-94
Notepad, 352
Now keyword, 70
NTFS file system, 130, 174-75
NTLM (Integrated Windows) authentication, 163. See also Windows authentication
numeric characters, passwords, 143
numRecompilesBeforeAppStart attribute, <compilation>, 521

O
Object data type, 503
ObjectList control, mobile, 268
object-oriented programming, 78-83
   classes, 80
   inheritance, 80-83
   overview of, 78-79
objects, 78-79
OdbcDataAdapter class, 297
OleDbAdapter class, 277
OleDbCommand class, 277, 286, 292-94
OleDbConnection class, 277, 282-83
OleDbDataAdapter class, 297
OleDbDataReader class, 277, 319
OLE DB.NET Data Provider, 276, 277
On Error statement, 73-74
Online Resources tab, 10, 11-12
Open Project dialog box, 13-14, 75-78
operating system (OS)
   choosing, 130-31
   IIS support, 555-56
Operator property, 261
Optional keyword, 61-62
Option Explicit statement
   preventing errors, 72-73
   restricting bugs, 58
Options dialog box, 29
options, IDE, 28-29
Option Strict statement
   preventing errors, 72-73
   restricting bugs, 58
OracleDataAdapter class, 297
Original version, updating datasets, 308
originURL attribute, <trust> element, 540
OS (operating system)
   choosing, 130-31
   IIS support, 555-56
oSql utility
   ASPNET account, 285-86
   installing MSDE, 571-72
   sa password, 142
@ OutputCache
   attributes, 436-38
   multiple versions of Web Forms, 444-46
   overview of, 201-5
   performance, 209
   user controls, 441-43
   Web Forms, 440
OutputCache.aspx, 439-40
output caching, 436-46
   @ OutputCache directive, 203-4, 436-38
   multiple versions of Web Forms, 443-46
   overview of, 203-5
   Response.Cache property, 446
   user controls, 209, 441-43
   Web Forms, 204-5, 439-40
Output window, 23, 493
OverflowException, 75

P
page
   elements, 186-88
   events, 218-19, 223
   lifetime, 188-90
   migration process and, 501-3
   runtime structure, 221-23
pageBaseType attribute, <pages> element, 526
Page class
   Application object and, 88
   defined, 6
   migration process and, 502
   overview of, 205-7
   page lifetime and, 188
   Session object and, 95
page control tree, viewing, 221
@ Page directive, 96
   attributes, 190-94
   debug mode, 507-8
   EnableViewStateMac, 397
   examples of, 195-99
   migration process and, 503, 508
   overriding configuration files, 110
   Page class inheritance, 206
   page lifetime and, 188
   regional formats and, 362
   Web application deployment, 467
Page-Error events, 220
pageLayout, 355
   AdRotator control, 254
   Calendar control, 257
   ss programmatically, 359
   Web Form properties, 43
Page_Load
   event handler, 502, 508
   method, 91-92, 98, 121
Page.LoadControl method, @ Reference directive, 205
pageOutput attribute, <trace>, 514
<pages> element, 525-28
Page.Trace property, 482
Page_Unload event, 219, 502, 508
Panel controls, registration wizard, 252-53
parameters
   migration process and, 504, 512
   naming conventions, 296
   output caching, 443-44
   passing, 60-62
   stored procedures, 295-97
parentheses ( ), 503
PartialCaching attribute, 441
Pascal case, 55, 278
Passport authentication
   overview of, 165
   Web services, 421-22
password attribute
   <identity>, 535
   <processModel>, 550
passwordFormat attribute, <authentication>, 533
passwords, 141-45
   blank, 141-43
   Forms authentication, 169-70
   protecting storage of, 144-45
   reducing number of, 144
   RegLogin and, 395
   sa, 142-43, 506
   security templates and, 137, 140
   strong, 143
   weak, 143
patches, 151-54
path attribute
   <authentication>, 532
   <httpHandlers>, 543, 544
   <httpModules>, 545
   <location> element, 123, 176
Path environment variable, 572-74
performance. See also caching
   debugging and, 195-98
   tracing and, 198-99, 480
   ViewState and, 397
permissions
   IIS permissions for subdirectories, 469-70
   Users.xml file, 385
persistent cookies, 106-7
Personal Web Services (PWS), 130
pingFrequency attribute, <processModel>, 549
pingTimeout attribute, <processModel>, 549
PlaceHolder controls, 215-16
   adding programmatically, 236
   custom controls, 359-60
   user controls, 215-16
platforms, supporting Visual Studio .NET, 555-56
policies, security, 134-41
   applying new template, 139-40, 180
   creating new template, 135-38, 180
   defining, 134-41
   overview of, 134
   Security Templates tool, 135
policyFile attribute, <securityPolicy>, 539
polymorphism, 79
POP (Post Office Protocol), 150
port numbers, security risks of, 150-51
PostBackDataChangedEvent method, 380
postbacks
   handling, 364-65, 401
   overview of, 188-89
   RegLogin control, 378-82
Post Office Protocol (POP), 150
POST requests, HTTP, 364
practice files (for this book)
   downloading, 9
   opening, 13-14
PreRender events, 368
PreRender phase, 369, 397
Prerequisites, installation, 557-61
Previous_Click event handler, registration wizard, 252
principle of least privilege, 146
private assemblies, 358
private keyword, 57, 371
procedure level variables, 56
procedures, 60-62
<processModel> element, 177, 546-50
programmatic techniques
   column objects, 298-303
   custom controls, 358-60
   data binding, 319
   output caching, 436, 441, 446
   row objects, 298-303
   server controls, 235-36
   table objects, 298-303
   user controls, 215, 441
programming basics. See also flow control; variables
   constants, 58-59
   enumerations, 59
   error handling, 72-78
   expressions, 50-51
   object-oriented, 78-83
   overview of, 49-50
   procedures, 60-62
   top-to-bottoms vs. event-driven, 502
Project menu, 28, 41
projects
   defined, 14
   exiting, 29-30
   opening, 13-14
Projects tab, 10, 13-14
project types, ASP.NET, 33-37
   Mobile Web Applications, 33-34, 36-37
   overview of, 33-34
   Web applications, 34
   Web Forms, 35
   XML Web services, 36
properties
   Application object, 88-89
   custom server controls, 360-61
   IIS directory, 461-62
   migration process and, 503, 508
   object-oriented programming and, 78
   Page class, 205-6
   page-level tracing, 478-79
   RegLogin, 371-72
   server controls, 244
   Session state, 95-96
   styles, adding to controls, 240-42
   Validation controls, 260
   Web Form, 42-44
   WebMethod attribute, 410-11
Properties window
   modifying configuration with, 24-26
   overview of, 21
   Select Case in Web Forms, 65-66
   session state, 97
Property Builder, 328-29, 332
Proposed version, updating datasets, 308
Protected keyword, 57
protection attribute, <authentication>, 532
proxy classes, 426-32
   consuming Web services and, 429-33
   instructions, 428
   MakeServices.bat and, 428-29
   wsdl.exe utility and, 426-27
Public keyword, variable declaration, 57
Pubs sample database, installing, 571-72
PWS (Personal Web Services), 130

Q
queries, Access database, 293-94
Query Builder dialog box, 313
Query menu, 28

R
RadioButton controls, 257
RaisePostBackEvent method, 364-66, 381
RaisePostBackEvent phase, 369
RaisePostDataChangedEvent method, 364-65
RaisePostDataChangedEvent phase, 369
RangeValidator control, 261
ReadOnly, enableSessionState attribute, 96
ReadXml method
   displaying data in Web page, 290
   reading XML data, 298
   SaveCredentials method, 383
   VerifyCredentials method, 384
Ready To Install page, MSDN Library, 567-68
redirect attribute, <customErrors>, 530
ref attribute, contractRef node, 419
@ Reference directive, 205, 215-16
reference types, 53
#Region...#End Region keywords, 218
regional locale formats, 362
@ Register directive
   custom controls, 357
   Namespace attribute, 349
   overview of, 201
   Web Forms, 213-15
registration. See RegLogin control
registration wizard, 247-53
registry, storing configuration information in, 465
RegLogin control, 370-97
   applying, 392-94
   basic control for, 370-71
   events, 378-82
   Forms authentication, 386-91
   member variables, 371-72
   overview of, 369-70
   postbacks, 378-82
   properties, 371-72
   testing, 394-96
   user credentials, 382-86
   user interface, 372-78
regular expressions, 148
RegularExpressionValidator
   overview of, 262
   validating required fields, 264
   validating user input, 148
RegWiz.aspx, 247-53
Relations collection, 304
relative URLs, 516
remote procedure calls (RPCs), 404
RemoveAt method, 222
Remove method, 88, 222
render blocks
   defined, 187
   migration process and, 502, 508, 512
   Web Forms code, 208-9
RenderChildren method, 348-49
Render method
   custom output, 401
   custom server controls, 351
   overriding, 348, 373
   TextBox controls, 353
Render phase, 369
Repeater controls, 340-43
requestEncoding attribute, <globalization>, 515
requestLimit attribute
   <processModel>, 549
   <trace>, 514
Request Validation, 149-50
RequiredFieldValidator control, 262, 263-64
Require Secure Channel (SSL) check box, 160
requireSSL attribute
   <authentication>, 532
   <forms>, 170
resources. See Web site resources
Response.Cache property, 436, 446
responseDeadlock attribute, <processModel>, 549
responseEncoding attribute
   @ Page directive, 193
   <globalization>, 515
Response object, 452-53
responseRestartDeadlockInterval attribute, <processModel>, 549
Response.Write, 481
restartQueueLimit attribute, <processModel>, 550
Resume Next statement, 73
.resx extension, 37
ReturnURL query string argument, 172
roles attribute, <authorization>, 536
root configuration file. See machine.config
root directory. See application roots
Root Namespace option, Web applications, 349
RowFilter property, 317
row objects, 298-303, 308-9
RowState property, 309
RPCs (remote procedure calls), 404
Run As feature
   installing SSL certificates, 159
   Internet Information Services, 387
   requesting SSL certificates, 157-58
   requiring SSL, 160-61
Run As Server control, 231-32
runat attribute
   HTML controls, 232, 234
   Web controls, 235
runtime
   errors, 72
   logic errors, 486
   modifying Web Forms at, 221-23
   semantic errors, 485

S
sa (system administrator)
   blank passwords and, 141
   changing MSDE sa password, 142-43, 180
   .NET QuickStart samples, 147
   principle of least privilege, 146-47
   SQL Server 2000 passwords, 506
Save All button, 30
Save button, 43, 45
SaveCredentials method, 381-82, 383-84
SaveViewState, 369
saving files, 30
saving templates, 139
scalability, 93, 100-101
scavenging, cache, 450-51
scope, variable, 56-57
<script runat= "server"> syntax. See code declaration blocks
Secure Communications dialog box, 160
Secure Sockets Layer. See SSL (Secure Sockets Layer)
security. See also authentication; server security
   access control, 154-55
   account limitations, 146-47
   appSettings, 466
   auditing, 155-56
   authorization, 174-77
   code access security, 178-79
   disabling debugging, 196, 489
   IIS installation and, 556
   impersonation, 177-78
   improvements to, 31
   locking down configuration settings, 123
   logging, 155-56
   overview of, 127-29
   passwords, 141-45, 506-7
   patches, 151-54
   request validation, 149-51
   resources, 179-80
   sensitive data storage, 107
   SQL Server and, 104
   SSL communications, 157-61
   threats, 128-29, 147-48
   tracing and, 480
   validation, 148-49
   ViewState and, 397
   Web services, 420-21
Security Configuration and Analysis tool
   improvements to Windows security, 130
   overview of, 134
   security templates, 138, 139-40
<securityPolicy> element, 179, 538-39
Security Templates tool
   accessing, 135
   creating new template, 135-38
   defined, 134
Select Case statements, 63-68, 64-68
SelectCommand property, DataAdapter, 297
SelectCommand property, SqlDataAdapter, 298-99
SelectionList control, Mobile Web Forms, 268, 269-70
<select> items, HTML controls, 230-33
semantic errors, 485
separators, Repeater control, 340-43
Server Certificate page, Web Server Certificate Wizard, 159
server controls
   AdRotator control, 253-56
   Calendar control, 256-59
   case sensitivity, 228
   data-bound controls, 266
   defined, 188
   hiding, 273
   mobile, 266-72
   overview of, 31
   page lifetime and, 189-90
   showing, 273
   state, 107
   Validation controls, 260-66
   Xml, 259, 290
ServerControls.aspx, 221
server controls, custom
   adding programmatically, 358-60
   building with Visual Studio .NET, 352-57
   classes, 349-50
   creating, 348-49
   event execution order, 368-69
   event handling, 366-67
   events, 365-66
   functionality of, 360-63
   inheriting from base class, 350-51
   methods, 362-63
   namespaces, 349
   overriding inherited events, 367-68
   overview of, 188, 347-48
   postbacks, 364-65
   properties, 360-61
   raising events, 365-66
   rendering output, 351
   state maintenance, 396-97
   TextBox control enhancements, 352-54
   Toolbox Web control, 354-55
   Web Forms, 355-57
serverErrorMessageFile attribute, <processModel>, 550
Server Explorer window, 21
Server.GetLastError method, 220
server security, 128-41. See also security
   designing, 129-30
   OS selection, 130-31
   policies, 134-41
   removing unused services, 131-34
   setup and, 129-30
   threats to, 128-29
server-side code
   defined, 187
   migration process and, 502
   page lifetime and, 189
server-side comments, 187
server-side includes, 216
server-side <script> block, 69
ServerValidate property, 261
Service Releases, 570-74
Services MMC (Microsoft Management Console) snap-in, 101
services, removing unused, 132-34, 556
Session object, 87
Session state, 94-99
   application scalability and, 100-101
   enabling, 96, 97
   limitations, 94
   overview of, 94-96
   read and write, 97-98
   recommendations, 99
   storage configuration, 101-5
SessionState.aspx, 97-98
<sessionState> element, 540-41
SetNoServerCaching method, 446
Set statements, 503, 508
Setup And Deployment Projects project type, 472
Setup Type page, MSDN Library, 566-67
SGML (Structured Generalized Markup Language), 111
shared assemblies, 358
Shared attribute, @ OutputCache directive, 203, 437-38, 443
Shortcut tasks, Task List, 22
short-term migration, 507-8
ShowAuthors.aspx, 431
ShowMessageBox property, 262
ShowSummary property, 262
ShowUsername.aspx, 170-72, 172-73
shutdownTimeout attribute, <processModel>, 550
side-by-side execution, defined, 124
SimpleDataBinding.aspx, 320
Simple Mail Transfer Protocol. See SMTP (Simple Mail Transfer Protocol)
SimpleTrace.aspx, 478-80
single quote (') character, 53
single-user applications, 127
Size property, 25
slidingExpiration attribute, <authentication>, 532
slidingExpiration attribute, <forms>, 170
smartNavigation attribute, @ Page Directive, 193
smartNavigation attribute, <pages>, 526
SmtpEmail.aspx, 242-47
SMTP (Simple Mail Transfer Protocol)
   security risk of port 25, 150
   setting up, 242
   using server controls to send e-mail, 242-47
sn.exe, 358
SOAP
   Web services based on, 31, 36
   Web service security and, 420-21
   XML-based Web services, 406
software, risks of installing on server, 134
Solution Explorer
   Browse With option, 394
   overview of, 20
   testing Web forms, 14-15, 46-47
   Web Forms, 40-41
   Web services, 430
solutions, 14
Sort property, 318
<span> tag, 241-42
specialization, of server controls, 348
SqlCommandBuilder object, 299
SqlCommand class, 286-92
   applying, 286-88
   displaying data in Web page, 290
   displaying XML data in Web page, 288-92
   overview of, 277, 286
SqlConnection class
   defined, 277
   displaying data in Web page, 290
   overview of, 279-82
sqlConnectionString attribute, <sessionState>, 541
SqlDataAdapter class
   creating, 297-98
   overview of, 277
   SelectCommand property, 298-99
   typed datasets, 311
SqlDataReader class, 277, 295-97, 318-19
SQL Enterprise Manager, 284
SQL Server
   login, 283-84
   password security and, 141
   password storage, 145
   sa account, 146-47, 506
   trusted connections, 145, 178, 450
SQL Server Enterprise Manager utility, 143
SQL Server .NET Data Provider, 276, 277-78
SQL Server Query Analyzer, 571-72
SQLServer setting, 101, 103-4
SQL Server Web Assistant, 453-54
src attribute
   @ Assembly directive, 202
   @ Page directive, 193
   @ Register directive, 201
   inheritance from Page class, 206
   Web application deployment, 467
   Web services and, 408
SSL (Secure Sockets Layer)
   installing certificates, 158-59
   protecting communications, 157
   requesting certificates, 157-58
   requiring, 160-61
   Web service authentication and, 421-22
staging systems, 138
standards
   preventing bugs and, 486
   SOAP and WSDL, 426
Standard toolbar, 27
Start button, 10-11, 14
Start Page, Visual Studio .NET, 16
STA (single-threaded apartment), 503
state. See also Application state
   ASP.NET improvements, 31
   client-side cookies, 105-7
   maintaining in custom controls, 396-97, 401
   overview of, 87
   scalability and, 100-101
   server control state, 107
   session state, 94-99, 101-5
stateConnectionString attribute, <sessionState>, 541
StateServer (out-of-process) setting, 101, 101-3
static HTML tags, 187
Static keyword, 55
StaticObjects collection
   Application object, 89
   Session object, 95
statusCode attribute, <customErrors>, 530
statusMessage property, 383
Step keyword, 70
storage
   deployment and, 465-66
   passwords, 144-45
   security and, 107
   session state, 101-7
stored procedures
   overview of, 295
   parameters, 295
   reading data with SqlDataReader and, 295-97
StreamWriter, 385
strict attribute
   @ Page directive, 193
   <compilation>, 522
StringBuilder class, 372, 376
strings, 371-73
structured exception handling, 74-78
Structured Generalized Markup Language (SGML), 111
<style> block, 253
Style property, 241
styles, applying to Web controls, 240-42, 273
subdirectories
   IIS permissions for, 469-70
   overriding configuration settings, 122
Sub procedures
   input parameters and, 60-62
   overview of, 60
   parentheses required for, 503
syntax errors, 72-73, 485, 486-87
SYSTEM account, 146
System.Attribute, 409
System.Data, 432
System.Diagnostics, 487, 490, 498
System Properties dialog box, 572-73
System.Security.Cryptography, 145
System.Text, 372-73
System.Web, 6, 80, 88
System.Web.Mail, 200, 245
System.Web.Security, 168, 171
System.Web.Services, 408
<system.web> tag
   Forms authentication, 170
   URL-based authorization, 175-77
   Web.config, 111-12, 123
System.Web.UI, 6, 205, 348, 399
System.Web.UI.HtmlControls, 226, 233
System.Web.UI.WebControls, 233, 253, 260, 266, 350, 353

T
Tabbed Documents, 17-18
Table menu, 28
table objects, 298-304
Tables collection, 304-5
tabs, .NET Toolbox, 22
tag attributes, HTML controls, 227-28
tagName attribute, @ Register directive, 201
tagPrefix attribute, @ Register directive, 201
TagPrefix attribute, Visual Studio .NET, 357
target directory. See directories
targetSchema property, 17
Task List window, IDE, 22-23
TCP/IP protocol, 150
tempDirectory attribute, <compilation> element, 522
TemplateColumn control, 328
template, DataList control, 339
templates, security, 134-41
   applying, 139-40, 180
   creating, 135-38, 180
   overview of, 134
   Security Templates tool, 135
testing
   bug prevention, 486
   consuming cached data, 456
   RegLogin control, 394-96
   security templates, 138
   Web Forms page, 14-15, 46-47
   Web services, 433
text
   Label control, 44
   validating input from user, 148
TextBox class, 351, 353
TextBox controls
   Calendar control, 257
   enhancing, 352-54
   registration wizard, 252
   server controls sending e-mail, 243
   Web Forms, 44
TextBoxPlus control, 355-56, 399-401
text editors
   line number display, 29
   overview of, 7
   Visual Studio .NET, 38
Text Editor toolbar, 27, 112
Text property, 479
TextTypes datatype, 361
TextView control, mobile, 267
Throw keyword, 74-75
time, Now keyword, 70-71
timeout attribute
   <authentication>, 533
   <processModel>, 550
   <sessionState>, 541
TitleDataSet, 316
TitlesDataList1.aspx, 337-40
TitlesRepeater.aspx, 340-43
Toolbar Options button, 26
toolbars
   restoring original configuration, 26
   Visual Studio .NET, 26-27
toolbox
   Mobile Web Forms, 266-67
   Visual Studio .NET, 22
tools, adding paths to, 572-74
Tools menu, 28
top-to-bottom programming, 502
trace attribute, @ Page directive. See also debugging
   enabling, 482
   overview of, 194
   page control tree, 221
   page-level tracing, 198-99, 478-80
trace.axd, 481
TraceContext class, 482-83, 484
<trace> element, 513-14
traceMode attribute, 194, 514
TraceWrite.aspx, 483
Trace.Write method, 482-83
tracing, 478-85
   application-level, 480-81
   determining if it is enabled, 482
   page-level, 198-99, 478-80
   trace output, 484-85
   Trace.Warn method, 484
   Trace.Write method, 482-83
   writing to trace output, 481-84
transaction attribute, @ Page directive, 194
@ Transaction directive, 190
TransactionOption property, WebMethod attribute, 411
triggers, 454-56
Trusted_Connection attribute, SQL Server, 145, 178
trusted connections, 283
<trust> element, 179, 539-40
Try...Catch...Finally exception handling, 74-75, 290, 384
type attribute
   <browserCaps>, 552
   <compilation>, 524
   <httpHandlers>, 543
   <httpModules>, 545
typed datasets, 309-17
   creating manually, 310-11
   overview of, 309-10
   Visual Studio .NET, 311-17

U
UDDI (Universal Description, Discovery, and Integration)
   advertising Web services, 420
   locating Web services, 424-25
uiCulture attribute
   @ Page directive, 194
   <globalization>, 515
UI (user interface), 351, 372-78
underscore (_) character, 62
uniform resource locators. See URLs
Uninstall command, 474
uninstalling Web applications, 474, 475
Universal Description, Discovery, and Integration (UDDI)
   advertising Web services, 420
   locating Web services, 424-25
UnLoad events, 368
UnLock method, 90
Until keyword, 71
Update command, 299
Update method, 298
updates
   assemblies, 469
   backend database, 298
   DataGrid, 336
   datasets, 308-9
URLs
   cookieless sessions and, 105
   deployment and, 463-65
   discovery documents and, 419-20
   fully qualified vs. relative, 516
   loginURL attribute, <forms>, 173
   URL-based authorization, 175-77
   Web services, 424-25
useFullyQualifiedDirectURL attribute, <httpRuntime> element, 518
userAgent attribute, <clientTarget> element, 551
userControlBaseType attribute, <pages> element, 527
user controls, 209-16
   @ Control directive and, 199, 209-10
   adding declaratively, 213-15
   adding programmatically, 215
   caching, 441-43, 457
   creating, 210-13
   defined, 188
   include files vs., 216
   overview of, 209-10
   PlaceHolder control, 215-16
user credentials, 382-86
   CreateBlankUsersFile, 385
   SaveCredentials method, 383-84
   VerifyCredentials method, 384-85
user ID, 506-7
User Information page, 566
user interface. See UI (user interface)
userName attribute, <identity>, 535
username attribute, <processModel>, 550
username, Forms authentication, 170-72
User property, Page class, 205
users attribute, <authorization> element, 536
user-specific settings, Session state, 99
User tasks, Task List, 22

V
validate attribute, <httpHandlers>, 543
Validate method, Validation controls, 260
validateRequest attribute
   @ Page directive, 194
   <pages>, 528
validation
   Request Validation, 149-50
   security and, 148-49
validation attribute, <machineKey> element, 538
Validation controls, 260-66
   methods, 260
   overview of, 260
   properties, 260
   types of, 261-62
   validating by comparison, 264-66
   validating required fields, 262-64
ValidationExpression property, 262
validationKey attribute, <machineKey> element, 538
ValidationSummary control, 262
value attribute, <appSettings> element, 554
values
   constants and, 58
   dataset, 304-7
   types of, 52
ValueToCompare property, 261
var attribute, <browserCaps>, 552
variables, 51-58
   accessibility, 57-58
   data types, 51-52
   declaring, 53-54
   initializing, 361
   lifetime, 54-55, 57
   naming conventions, 55
   overview of, 51
   RegLogin control, 371-72
   scope, 56
   string, 371
Variant data type, 503
VaryByX attributes, @ OutputCache, 203, 204, 437-38, 443-46
vbc.exe, 310
.vb extension, 37
verbs attribute
   <authorization>, 536-37
   <httpHandlers>, 544
   overview of, 176-77
VerifyCredentials method, 381-82, 384-85
VeriSign, 157
versioning, 469
View menu, 28
ViewState, 107, 396-97
ViewState property, Page class, 206
ViewStateUserKey, 397
Visible property, 273
Visual Basic .NET
   overview of, 8
   Root Namespace option, 349
   sample code, 11-12
   Standard Edition installation, 9
Visual C++, 6-7, 11-12
Visual C# .NET, 364
   namespace syntax, 56
   overview of, 8
   searching for sample code, 11-12
   variable declaration, 58
Visual InterDev, 29
Visual Studio .NET, 9-15
   automatically creating namespace, 349
   DataGrid formats, 328-32
   enhancements, 16-18
   event handling, 45
   exiting, 29-30
   menus, 27-28
   new features, 18-19
   New Project dialog box, 34
   opening Web application project, 13-14
   options, 28-29
   overview of, 7, 9
   sample code, 11-13
   server controls, 42, 352-57
   session state, 97
   starting, 10-11
   TagPrefix, 357
   testing Web forms page, 14-15
   as text editor, 38
   toolbars, 26-27, 41
   typed datasets, 311-17
   Web applications, 39-40
   Web controls, 237-40
   Web Forms, 40-47
   XML editor, 112
Visual Studio .NET, installing, 555-74
   MSDN Library, 565-69
   overview of, 561-64
   platform support, 555-56
   prerequisites for installing, 556-61
   Service Releases, 570-74
Visual Studio .NET Toolbox
   adding controls, 237-40
   adding custom controls, 354-55
   overview of, 22
Visual Studio .NET, windows, 19-26
   Class View, 20
   configuring, 10-11
   Designer/Source Editor, 19-20, 24
   Output, 23
   Properties, 21, 24-26
   Server Explorer, 21
   Solution Explorer, 20
   Task List, 22-23
   Toolbox, 22
VSdotNET MSDE instance, 285

W
warningLevel attribute
   @ Page directive, 194
   <compilation>, 524
Watch window, 493
Web applications
   adding controls, 44-45
   building pages, 46
   custom controls, 352
   event handler code, 45-46
   Root Namespace option, 349
   server controls, 42
   testing pages, 46-47
   Web Form pages and, 40-42
   Web Form properties, 42-43
Web.config
   <authentication>, 386
   ACL-based authorization, 174-75
   application-level tracing, 480-81
   Application state, 93
   comments, 114
   debug mode, 507-8
   debug symbols, 196
   defining, 37-38
   Forms authentication, 169-70
   opening, 112-13
   overriding configuration settings, 122
   overview of, 110-12
   Passport authentication, 165
   physical path vs. URL and, 464
   removing HttpModule, 119-22
   Windows authentication, 164-65
WebControl class
   inheriting from, 350
   TextBox control and, 353
   UI-related properties, 351, 398
Web Control Library projects, 350, 352
Web controls, 233-53
   adding declaratively, 234-35
   adding programmatically, 235-36
   adding with Visual Studio .NET, 237-40
   attributes, 273
   HTML controls vs., 228, 234
   overview of, 233
   registration and, 247-53
   sending mail and, 242-47
   styles, 240-42
   Toolbox and, 354-55
<webControls> element, 551
Web farms
   scalability, 100
   state limitations, 94
Web Forms
   adding controls to, 44-45
   ASP.NET, 35
   caching multiple versions, 444-46
   custom server controls, 355-57
   debug mode, 487-90
   defined, 30-31
   event handling, 216-20
   events and, 365
   output caching, 439-40
   overview of, 185-86
   Page class and, 205-7
   page elements and, 186-88
   page lifetime and, 188-90
   page runtime structure and, 221-23
   palette, 44
   postbacks, 364
   processing stages, 217
   properties, 42-44
   Select Case and, 64-68
   server controls, 31
   testing, 14-15
   Web applications, 40-42
   writing code in, 207-9
Web Forms Designer, 42
webGarden attribute, <processModel> element, 550
WebMethod attribute, 410-11
Web references, adding, 430-31
Web Server Certificate Wizard, 157-59
Web server controls. See server controls
<WebService()> attribute, 408-9
@ Web Service directive, 407
Web services. See also proxy classes
   advertising, 418-20
   authentication, 421-22
   declaring, 407-8
   Hello World example, 411-15
   locating, 423-25
   overview of, 31
   precursors to, 404
   resources, 432
   returning data from, 415-18
   securing, 420-21
   testing, 433
   Web service class and, 408-11
   WSDL files and, 425-26
   XML-based, 36, 403-7
Web Services Description Language (WSDL), 414, 425-28
Web Setup Project, 358, 472-75
Web site resources
   ASP.NET QuickStart Tutorial, 6
   class naming conventions, 54
   cross-site scripting, 149
   Data Shaping Service for OLE DB, 319
   object-oriented programming, 78
   Passport authentication, 165
   patches, 151-52
   port security, 150
   practice files for this book, 9
   RegularExpressionValidator, 264
   resource security, 179-80
   security, 179-80
   server security, 129, 139
   SMTP setup, 242
   SQL Server Web Assistant, 453-54
   SSL for Web server, 157
   storing sensitive data, 466
   UDDI registries, 420
   Visual Basic .NET programming, 49-50
   Web services, 421-22, 426, 432
Welcome.aspx file, 14, 17-18, 24-26
While...End loops, 69, 71-72
wildcards, 176
Window menu, defined, 28
Windows 2000
   Domain Controller, 162-63
   ports, 150
   security improvements, 130
   Visual Studio .NET installation and, 555-56
Windows authentication, 163
   configuring for ASP.NET, 164-65
   overview of, 162-64
   password policies and, 144
   trusted connections and, 283
Windows Explorer
   ACL-based authorization, 174-75
   adding path to .NET tools, 572-74
   Folder Options dialog box, 14
   GAC assemblies, 469
Windows Installer
   assembly installation, 358
   GAC assemblies, 468-69
   support for, 19
   Web Setup Project creating, 472
Windows Server 2003, 555-56
Windows Update site, 151, 154
windows, Visual Studio .NET. See Visual Studio .NET, windows
Windows XP
   Control Panel views, 460
   ports, 150
   Professional Services snap-in, 101-2
   security improvements, 130
   Visual Studio .NET installation and, 555-56
wire formats, 404
WriteXml method, 298, 383
Writing Secure Code (Howard and LeBlanc), 129-30, 148-49
wsdl.exe utility, 426-28, 433
WSDL (Web Services Description Language), 414, 425-28
WS-Security proposed standard, 421

X
XCOPY, 468
Xml control, 259
XML editor, 18
XML (Extensible Markup Language)
   ADO.NET support, 279
   AdRotator control, 254-56
   displaying data in Web page, 288-92
   machine.config and, 109
   reading data, 298
   user credentials and, 382-86
   Web.config and, 111-12
   Web services and, 36, 403-7
.xml files, 389
xmlns attribute, discovery files, 419
XML Schema Definition (XSD), 415
Xml server control, 259, 290
xp_cmdshell, 141
xsd.exe utility, 310
XSD (XML Schema Definition), 415
XSL Transform document, 259
XSS (cross-site scripting) attacks, 149



Last Updated: April 16, 2003
Top of Page