Training
Certifications
Books
Special Offers
Community




 
OOP: Building Reusable Components with Microsoft® Visual Basic® .NET
Author Ken Spencer, Tom Eberhard, and John Alexander
Pages 528
Disk N/A
Level Int/Adv
Published 10/09/2002
ISBN 9780735613799
ISBN-10 0-7356-1379-6
Price(USD) $49.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


Send feedback about this index to mspindex@microsoft.com

Symbols and Numbers
& (ampersand), 377
\ (backslash), 128
() (parentheses), 22
? (question mark), 138, 377
80/20 rule, 56-57

A
access, HRnet
   levels, 247-48
   menu and navigation structure, 293
   structure, 246-47
   verification, 263-65
Access databases, 118
accounts, authorization, 135. See also authorization
Active Directory, 123-24
Active Server Pages (ASP), 1, 39, 42, 51
ActiveX controls, 159, 209
add functionality, 245
Add method, 90, 197, 208
AddHandler keyword, 25, 205-6
AddParameter function, 48, 112-15
address user control, 163-64. See also user controls
AddValue method, 79
ADO.NET. See also data access layers
   Command object, 88-90
   components, 85-87
   Connection object, 87-88
   data access component. See data access components
   data binding, 324
   data layer, 54
   DataReader object, 91-93
   DataSet object, 93-95
   ease of use, 85
   exceptions, 64-65
   features, 83-85
   history, 120
   performance, 84
   scalability, 84-85
   XML and interoperability, 85. See also XML
ampersand (&), 377
analysis and design, 54-57. See also design
   architectural design, 56
   database design, 56
   exceptions and trend analysis, 61
   operational specification, 55
   software architecture and, 34-35. See also software architecture
   system analysis, 54-55
   user interface design, 56
   wiring applications together, 56
   writing applications, 56
anonymous users, 126, 138
application domain name, 72, 76
application event log, 75-77
ApplicationException class, 66-68, 80
applications. See .NET applications
architectural design, 56
architecture, software. See software architecture
architecture, Visual Studio .NET, 49
Array class, 10
arrays, 9-10
ascx extension, 164
ASP (Active Server Pages), 1, 39, 42, 51
ASP.NET. See also Web Forms
   authentication, 122, 139. See also forms authentication
   code-behind files, 51. See also code-behind files
   custom server controls, 52, 157-58. See also custom server controls
   data bound list controls, 321
   DataGrid control. See DataGrid server controls; DataGrid server controls, custom
   pages as user controls, 164
   secure header, 148-53
   server controls, 157-60, 218-22
   URL authorization, 138
    user controls, 51-52, 158. See also user controls
   user interface options, 157-61
ASPNET account, 103
aspx extension, 164
assemblies
   classes, components, and, 13
   compiling, 2-3
   deploying, 29-31, 460-62. See also deployment, .NET application
   full custom server controls and, 180-82
   global assembly cache, 462
   versioning and, 461-62, 465-66
AssemblyInfo.vb file, 4-5, 182
AssemblyVersion attribute, 461-62
attributes
   adding functionality to classes with, 4-5
   AssemblyVersion, 461-62
   custom server control, 181, 182
   persisting variables with, 342
   state management, 339
   Web.config security, 126-28
authentication, 122, 123. See also forms authentication
authentication providers, 122
authorization, 134-38
   business layer and, 247
   HRnet, 124, 289
   .NET Framework technology, 122
   .NET Framework types, 134-35
   role-based, 121-22, 134-38, 139, 247, 289
   URL, 138
AuthorizeRequest event, 137
Auto Hide button, Visual Studio .NET, 7
AutoFormat feature, DataGrid control, 327

B
BackColor property, 190, 222
backslash (\), 128
base classes
   business object, 265-66
   calling methods of, 23, 69-70, 79-80
   custom base exception classes, 68-74
   overriding methods of, 23
   polymorphism and, 283
base forms, Windows Forms template, 311-14
BeginTransaction method, 87
benefits page, 292-93
bin folder, 29-30, 465-66
birthdays, HRnet, 432-35
body, SOAP, 386-89
Boolean class, 8
boxing, 8
browsers, XML Web services and, 376
builders, code, 287
Building Web Solutions with ASP.NET and ADO.NET, 350
built-in roles, 137
built-in server controls, 157-60, 218-22. See also custom server controls
business layers, 243-69
   building and determining queries based on business rules, 248-55
   DataGrid control and, 324-25
   designing business objects, 244-46
   determining business rules, 246-47
   facade layer and, 272-73
   get-related stored procedures, 255-56
   insert-related stored procedures, 257-59
   interacting with data access layers, 248-61
   interacting with security layers, 247-48
   limiting returned records in, 367
   .NET Framework and, 53-54
   n-tier architecture and, 50
   object-oriented Visual Basic .NET features, 261-69
   remoting, 407-9
   resource management and, 243-44
   three-tier architecture and, 39
   update-related stored procedures, 259-61
   XML Web services. See XML Web services
business objects
   designing, 244-46
   facade layer inheritance from, 272-73
   remoting, 400, 405-9
   remoting business layer, 407-9
   remoting security layer, 406-7
business rules
   adding code for, 315
   business layers and, 243
   determining, 246-47
   facade layers and, 53
   queries based on, 248-55
   three-tier architecture and, 43-44
   two-tier architecture and, 37-38
Button controls, DataGrid control and, 337-41
ButtonColumn controls, 351-52, 361-63

C
calling
   code in code-behind files, 315
   custom server controls, 180-81
   methods, 22
   SOAP functionality, 389-90
   SQL statement method, 108-10
Cascading Style Sheets (CSS), 42
case sensitivity, 126
Catch statement, 13, 59, 60-61, 63-65. See also structured exception handling
channels, remoting, 394-95, 398
child controls. See also composite server controls
   event handling, 205-6
   naming, 195-96
Class statement, 15, 16
Class View window, 7
classes
   application-specific frameworks of, 53-54
   attributes and, 4-5
   base. See base classes
   class and module files, 16-17
   component, vs. simple, 13-16. See also components
   constructors and destructors, 18-19. See also constructors
   creating application exception class hierarchies, 80- 81
   custom base exception, 68-74
   custom exception, 66-68
   custom server control, 181-83
   custom Web page template, 304-11
   events, 24-25. See also event handling; events
   facade, 273-74, 281-85
   inheritance and, 28-29. See also inheritance
   instantiating, 17-19, 261-62, 414
   interfaces, 25-26
   methods, 21-22. See also methods
   namespaces and, 26-28
   .NET Framework, 3-4, 33
   objects and, 18. See also objects
   overloading properties and methods, 22-23
   overriding methods of base, 23
   polymorphism and, 283
   properties. See properties
   property procedures, 20-21
   proxy, 377-78, 390
   shared members, 26
   structures vs., 19-20
   Windows Management Instrumentation (WMI), 7
Class_Initialize event, 261-62
Class_Terminate event, 262
clients
   activating server objects with, 407-9
   browsers as, for XML Web services, 376
   calling SOAP functionality from, 389-90
   HTTP redirection from, 125, 152
   remoting, 392-93, 395-400, 410-16
Close method, 91, 104-7
closing connections, 91, 104-7. See also connections
CLR. See common language runtime
code
   calling, in code-behind files, 315. See also code-behind files
   compiling, 2-3
   regions, 99, 245
   reuse, 158-59, 311
   reuse vs. code builders, 287
   startup, 18
   templates. See templates
code access security, 3, 156
code-behind files
   adding code to, 315
   menu component, 218-19, 229-30
   separation of logic and design with, 51
   user control, 164, 168-70
   Web templates and, 302
   Windows Forms menu, 239
Collect method, 19
collection, garbage, 18-19, 105-7
colors
    highlight, 190
   menu and navigation bar, 222, 237
ColorTranslator function, 190
columns
   DataGrid control, 326-27
   grid and detail form, 359-62
   sorting DataGrid control, 350
COM and COM+, 39-43, 48, 120, 122
combined fields, DataGrid control, 349
Command object
   as ADO.NET component, 86-90
   DataAdapter object and, 92
   parameters collection, 112, 114
CommandArgument property, 220
CommandType property, 89
comments, 245
Commit method, 88
common language runtime (CLR)
   bin directory and, 466
   common type specification and, 8
   exception handling, 62
   exceptions, 61
   as .NET run-time environment, 2-3
   security, 121
   serialization and deserialization of exception objects, 79-80
   updating XCOPY-deployed applications, 460
common type specification (CTS), 8
company and supporting data, HRnet, 292, 293
compilation, 2-3, 162, 192
Component class, 15
component classes, 14-16
Component Designer, 99, 406
component-based programming, 1-2. See also object-oriented programming
components
   ADO.NET. See ADO.NET
   ASP.NET. See ASP.NET
   classes and, 13-16, 98. See also classes
   component-based programming and, 1-2
   data access. See data access components
   data-driven, 241-42
   fine-tuning, 418
   flexible n-tier architecture and, 50, 51
   HRnet, 420-21
   menu and navigation bar, 217. See also menu and navigation bar components
   security. See SecurIt component
   Visual Studio .NET support for, 6-7
composite server controls, 192-205
   advantages of, 192
   as custom server controls, 160, 179
   enhanced Label and TextBox, 201-5
   Label and TextBox, 193-200
composite Windows Forms controls, 207
Computer Management utility, 403
Concat method, 11
concatenation, string, 10-11
concurrency, data, 119
configuration files
   global.asax, 137
   machine.config, 462
   remoting, 393-95, 409-10, 416
   Web.config, 92-93, 124, 126-28
Configuration Manager, 399
Configure method, 393
Connection objects
   as ADO.NET provider object, 86-88
   DataAdapter object and, 92-93
   exception handling, 60-61, 63-64
   transactions, 119
connection strings. See also connections
   Connection object and, 87
   connection pooling and, 120
   data access component, 100, 109, 118
   n-tier architecture and, 47, 48
   security database, 132
   in Web.config file, 92-93
connections
   closing, 104-7, 110
   Connection objects. See Connection objects
   DataAdapter, 91-92
   DataReader, 85, 91, 324. See also DataReader objects
   DataSet, 84-85, 324. See also DataSet objects
   pooling, 119-20
   strings. See connection strings
ConnectionString property, 101
ConnectionStringObject, 93
consistency, 95, 96, 318, 372
console user interface, 51
constructors
   ApplicationException class, 67
   Command object, 88
   custom, in remotable objects, 407
   custom base exception class, 69-71
   data access component, 96, 100-101
   inheritance and, 266
   New operator and, 18-19
   as object-oriented feature, 261-62
   overloaded, 264-65
   security server control, 151
   serialization and, 79-80
   Windows Forms server control, 208
Contact Us pages, 296
Control class, 206
@Control directive, 164
ControlDesigner class, 183, 198
controller, custom Windows service, 403-5
controls, 157-209
   ActiveX, 159, 209
   built-in server, 157-61, 218-22
   choosing between user and custom server, 161-63. See also custom server controls; user controls
   enabling, disabling, hiding, and showing detail page, 363-67
   Internet Explorer Web controls, 237-38, 383-85
   setting focus to, 445-47
   validation, 131
   Web Forms, 51-52
   Windows Forms, 206-8
Controls method, 197
cookies, authentication, 126-28, 132
copyright information, 296
counters, performance, 120
CreateChildControls method, 197, 205
CreateCommand method, 88
credentials stores, 128-29, 139. See also authentication; authorization; forms authentication
Crypto API, 122
CType function, 176
custom authentication, 124-25
custom base exception classes, 68-74
   constructors, 69-71
   custom properties, 71-74
   serialization constructors, 79-80
custom data bound columns, DataGrid control, 326- 27
custom events, 205-6. See also event handling; events
custom exception classes, 66-68
custom greeting, HRnet, 430-31
custom principals, 135
custom properties, 71-74. See also properties
custom server controls, 178-206
   adding Java Script to, 191-92
   additional steps for production, 191
   class, 181-83
   composite server controls, 192-200
   DataGrid. See DataGrid server controls, custom
   design-time and run-time views, 183
   detail, 363-67
   enhanced composite server controls, 201-5
   enhanced DropDownList server control, 185-88
   enhanced or derived, 185
   events and, 205-6
   full, 178, 179-84
   highlighting in TextBox server controls, 188-92
   menu and navigation bar, 237
   registering and calling, 180-81
   security header, 140, 148-53, 423-26
   state handling in, 183-84, 363-67
   types of, 159-60, 178-79
   user controls vs., 52, 157-58, 161-63. See also user controls
   Visual Studio .NET Toolbox and, 184
   Web Forms and, 52
   Windows Forms controls as, 206-8
custom user controls. See user controls
customer service facade class, 283-85

D
data. See also databases
   binding, 218, 219-20, 324
   concurrency, 119
   deleting, 445
   disconnected, 84-85. See also DataSet objects
   entry, 312-15
   layers. See data access layers; data layers
   marshaling, 49
   menu and navigation, 216-17, 223-29
   persisting, through local XML files, 368-69
    presentation. See data presentation forms; information pages
   saving, 443-45
   separation of program and, 36-37
   types. See data types
data access components, 95-118. See also data access layers
   closing connections, 104-7
   connection pooling, 119-20
   constructors, 100-101
   data access object as, 97-99
   data concurrency, 119
   database access and usage strategy, 97
   exception handling, 103
   exception logging, 103-4
   functionality, 96
   handling transactions, 119
   implementing, in applications, 118-19
   OLE DB provider example, 118
   performance counters, 120
   private variables and objects, 100
   properties, 101-2
   reasons for, 95
   SQL statement methods, 102-18. See also SQL statement methods
data access layers, 83-120
   ADO.NET and. See ADO.NET
   business layer interactions with, 248-61
   connection pooling, 119-20
   data access components. See data access components
   data concurrency, 119
   flexible n-tier architecture and, 45-49
   handling transactions, 119
   .NET Framework and, 54
   n-tier architecture and, 50
   performance counters, 120
   three-tier architecture and, 44
data binding, 218, 219-20, 324
data bound list controls, 321
data concurrency, 119
data entry forms, 312-15
data layers. See also data access layers
   facade layer and, 274
   .NET Framework and, 54
   resource management and, 244
data list, 319
data presentation forms, 320-25. See also information pages
   ASP.NET DataGrid control for list forms, 321-25
   information pages as, 317-18
   list/detail-based, 321
   Web-based vs. Windows-based, 320
data provider objects, 86-87
data providers, 54
data types
   ease of use and, 85
   formatting strings, 11
   validating, in composite server controls, 192, 201-5
   Visual Basic .NET, 8-9
DataAdapter objects
   as ADO.NET components, 85-87, 91-93
   data concurrency and, 119
databases. See also data
   access and usage strategy, 97
   connections. See Connection objects; connection strings; connections
   credentials stores, 128-29, 139
   data layer and, 39, 54
   design, 56
   Microsoft Access, 118
   two-tier architecture and, 36-37
DataColumn objects, 94
data-driven components, 241-42
DataGrid server controls
   custom. See DataGrid server controls, custom
   data presentation forms and, 321
   DataReader objects and, 89, 91
DataGrid server controls, custom, 325-50
   adding final enhancements, 346-50
   adding functionality, 328-32
   adding GoTo function, 337-41
   adding graphics, 332-33
   adding sorting capabilities, 342-46
   birthdays and news in, 432-35
   changing footers, 333-37
   column types, 327
   creating, 325-27
   design, 321-25
   detail information and, 447-54. See also detail information pages
   graphical items, 326
   for list forms, 321-25
   local weather in, 435-37
    Windows Forms, for HRnet titles, 454-59
DataList server controls, 218-22, 321
DataReader objects
   as ADO.NET component, 86-87
   data access component and, 110, 117
   DataGrid control and, 89, 324
   DataSet objects vs., 93
   open connections and, 85
   session state and, 367
   two-tier login with, 37-38
DataRow objects, 94
DataSet objects
   data access component and, 102-10, 115-17
   data concurrency, 119
   DataAdapter objects and, 91-92
   DataGrid control and, 324
   deserializing, 370-72
   disconnected data and, 85-87, 93-95
   persisting, in session variables, 331
   returning, from SQL statement method, 102-10. See also SQL statement methods
   serializing, 368-70
   session state and, 367-68
   XML Web services and, 374-76
DataSource property, 218, 331, 337-38
DataTable objects, 94, 325
debugger user group, 103
debugging information file, 29
Decimal data type, 8
default application log, 75
default constructors, 69-70
default value, DropDownList server control, 185-88
DeleteCommand property, 93
deleting data, 445
deployment, COM, 43
deployment, .NET application, 459-65
   global assembly cache and, 29-31, 460-62
   remoting, 409-10
   updating XCOPY-deployed applications, 460
   Windows Installer packages, 463-65
   XCOPY, 460
derived classes, 28-29, 283. See also inheritance
derived custom server controls. See enhanced custom server controls
derived forms, 312
derived Windows Forms controls, 207
DES encryption, 127
deserializing
   DataSet objects, 370-72
   exception objects, 79-80
design. See also analysis and design; software architecture
   business object, 244-46
   custom DataGrid control, 322
   effective menu, 214-17
   facade layer, 273-74
   Home page, 429-30
   HRnet, 288-93
   information page, 318-19
   menu and navigation bar components, 223-24
   separation of logic and, 51
Designer attribute, 150, 195
designers, Visual Studio .NET, 6
   component classes and, 15-16
   composite Windows Forms controls, 207
   custom control, 198-99
   custom Web page template class and, 310
   user controls and, 162
design-time controls (DTCs), 157
design-time views. See also run-time views
   composite server control, 192, 195, 199-200
   custom server control, 181, 183
   login page, 421-22
   user controls, 164-65
destructors, 18-19
detail information pages, 350-67. See also information pages
   adding custom event handling, 362-63
   creating columns programmatically, 359-62
   enhancing, 359-63
   HRnet, 290-91, 295, 296
   HRnet employee pages. See employee pages, HRnet
   HRnet news management. See news management page, HRnet
   list/detail approach, 319
   one-page grid and detail form, 351-55
   separated grid and detail forms, 356-58
   state handling in detail custom server control, 363- 67
   types of, 350-51
   Windows Forms, one-page, 454-59
   wiring together, 447-54
DHTML (Dynamic HTML), 42
DiffGrams, 376
disconnected data, 84-85, 91-92, 93. See also DataSet objects
Dispose method, 19, 48, 76, 105-7, 282
dll extension, 3, 13
DLL hell, 42-43, 459, 465
DNA, Windows, 39-44
document, system analysis, 54-55
document structure, SOAP, 386-90
documentation, 245
DrawString method, 207
DropDownList class, 186
DropDownList server control, enhanced, 185-88
Dynamic HTML (DHTML), 42
dynamically loaded user controls, 175-78
   adding, 175-76
   placing, 177-78

E
ease of use, ADO.NET, 85
editing, DataGrid control in-place, 350
employee facade class, 281-83
employee pages, HRnet, 447-54
   detail form, 452-54
   Home page and, 290-91
   list form and state handling, 449-52
   menu and navigation structure, 292
employee role, 289
encapsulation, 41, 45, 173-74, 231-32
encryption
   authentication cookie, 127
   connection strings, 93
   password, 156
enhanced custom server controls
   DropDownList server control, 185-88
   TextBox server control, 188-92
   Web Forms, 160, 178, 185
   Windows Forms, 207
enterprise applications, 54-57
enumerations
   access level, 248
   built-in role, 137
envelope, SOAP, 386
environmental information, 72-74
Err class, 62
errors
   exceptions vs., 60, 61. See also exceptions
   handling, 12-13. See also structured exception handling
event handling
   ButtonColumn, 362-63
   creating events and, 24-25. See also events
   DataGrid control sorting, 343
   event bubbling in user controls, 173-74
   exception logging and, 61, 75-77, 96, 103-4, 401. See also structured exception handling
   grid and detail forms, 362-63
   menu, 220, 230-31, 233
   one-page grid and detail form, 351-52
   Windows Forms menus, 239-41
   Windows service controller, 404-5
EventLog class, 75
EventLogEntryType class, 76
events
   creating and handling, 24-25. See also event handling
   custom, for custom server controls, 205-6
   instantiation, 261-62
   logging, 61, 75-77, 96, 103-4, 401
Evidence Security, 156
Exception class, 61, 62-63, 65, 67-68
exception classes
   creating application hierarchy, 80-81
   custom, 66-68
   custom base, 68-74
exception-handling objects, 61, 66-74. See also exceptions; structured exception handling
   application class hierarchy of, 80-81
   base exception class contructors, 69-71
   base exception class custom properties, 71-74
   data access component, 96, 103-4, 109
   defining custom base classes for exceptions, 68-74
   event logging for, 75-77, 103-4
   guidelines for defining custom exception classes, 66- 68
   remoting and, 78-80
exceptions. See also structured exception handling
   DataGrid control, 336
   errors vs., 60, 61. See also errors
   logging, 61, 75-77, 96, 103-4, 401
   predefined, 66
   SOAP, 386, 387-88, 390
   XML file, 371-72
exe extension, 3, 13
execute command, 159
ExecuteNonQuery method, 110-11, 118
ExecuteReader method, 91, 110
executive role, 289
Exit Function statement, 21
Extensible Markup Language. See XML
Extensible Stylesheet Language (XSL), 42

F
facade components, 275-85
   business object for, 275-80
   customer service facade class, 283-85
   facade class for business object, 281-83
facade layers, 271-86
   advantages, 272-73
   components. See facade components
   concept of, 271-72
   designing, 273-74
   .NET Framework and, 53
   remoting security layer and, 406
   resource management and, 244
   three-tier architecture and, 43-44
Fault, SOAP, 386
field validation, composite server control, 192, 201-5
fields, combining DataGrid control, 349
FileInfo method, 372
files. See also folders
   class and module, 16-17
   code-behind. See code-behind files
   configuration. See configuration files
   credentials store, 128-29, 139
   globally deploying, 460-62. See also global assembly cache
   include, 158-59
   persisting data through local XML, 368-72
   Portable Executable (PE), 465
   setup, 463-65
   Web template, 295-99
Fill method, 92, 93, 102
FillSchema method, 93
filter options, DataGrid control, 350
Finalize procedure, 19, 20
Finally statement, 13, 59, 63, 66, 105. See also structured exception handling
find feature, DataGrid control, 350
fire hose, 91
flexibility, business layer, 244
flexible n-tier architecture, 43-50
   flexibility of, 50
   HRnet, 288
   implementing, 45-49
   layout of, 44
   three-tier architecture vs., 43-44
focus, setting control, 445-47
folders. See also files
   authentication cookie path, 128
   bin, 29-30, 465-66
   deployment and, 29-30, 465-66. See also global assembly cache
   Web template files, 296-97
   XML Web service, 377-78
footers, DataGrid control, 333-37
Format method, 11-12
formatting
   DataGrid control, 349
   strings, 11-12
Form_Load event, 456
forms. See also Web Forms; Windows Forms
   data presentation. See data presentation forms
   inheriting, 52
   list, 321-25, 449-52
   login, 124-25, 129-34, 153-55
forms authentication, 124-34
   business layer, 247
   configuring applications, 126-28
   creating architecture for applications, 125-26
   creating credentials store, 128-29
   creating login form, 129-34
   HRnet, 121-22, 289
   overview, 122, 124-25
   SOAP and, 387-89
FormsAuthentication class, 125-26
framesets, 295
full custom server controls
   Web Forms, 160, 178, 179-84
   Windows Forms, 206-8
functions. See methods

G
GAC. See global assembly cache
Gacutil.exe utility, 30, 460-61, 462, 466
garbage collection, 18-19, 105-7
generic principals, 135
generic Web client handlers. See controls
GenericIdentity class, 136, 141, 143
GenericPrincipal class, 136, 141, 143
get functionality, 245
Get method, 20-21, 169, 186
GetDesignTimeHTML method, 195, 199
GetObjectData method, 78-80
get-related stored procedures, 249-51, 253-56
global assembly cache (GAC)
   adding assemblies to, 462, 466
   adding AssemblyVersion attribute, 461-62
   business objects in, 410
   deployment, 460-62
   facade layers and, 281
   generating strong names, 462
   managing, 30-31
   registering assemblies in applications, 462
global.asax file, 137
GoTo function, DataGrid control, 337-41
graphics
   adding, to DataGrid controls, 332-33
   DataGrid control items, 326
   logo images, 297
   menu user control, 237
greeting, HRnet custom, 430-31
grid. See DataGrid server controls
grid and detail forms. See detail information pages

H
Handles keyword, 174
header
   secure ASP.NET, 148-53
   SOAP, 386
help system, 318
hidden windows, 7
highlighting, TextBox server control, 188-92
Home page, HRnet, 289-90, 429-37
   birthdays and news, 432-35
   creating, from Web template, 301-4
   custom greeting, 430-31
   design, 289-90, 429-30
   local weather, 435-37
   logo area, 294-95
   menu and navigation design, 214-17, 292
host application, remote, 400-405
   deploying, 410
   Windows hoster, 400-401
   Windows service hoster, 401-5
HRnet human resources sample application
   access structure, 246-47
   business layer. See business layers; business objects
   controls. See custom server controls; user controls
   creating, from Web template, 299-304
   data access. See data access components; data access layers
   data structure, 317. See also information pages
   exception handling. See exception-handling objects
   facade layer. See facade layers
   flexible n-tier architecture, 50
   functionality, 289-93
   Home page, 289-92
   inheritance in, 265-69
   menu structure, 214-17, 292-93. See also menu and navigation bar components; menu handlers
   remoting. See remoting
   security needs, 121-22, 123-24, 138-40, 289. See also SecurIt component; security layers
   specifications, 288-93
   user interface. See user interface templates
   Visual Studio .NET and, 7
   wiring together. See wiring together phase
   XML Web services. See XML Web services
HTML (Hypertext Markup Language)
   creating, for Web page template class, 309
   user controls and, 162, 164-65
   Windows DNA and, 42
HTML server controls, 157, 159
HtmlForm class, 178, 306
HtmlTextWriter class, 183, 198
HTTP client-side redirection, 125, 152
HTTP GET and POST messages, 376, 385
HTTPContext objects, 141, 151-52
Hyperlink server controls, 218, 222, 310
Hypertext Markup Language. See HTML

I
IIS (Internet Information Services) Authentication, 122, 123-24, 138
images, 297. See also graphics
ImageUrlEditor editor, 151
Implements statement, 25-26
Imports statement, 26-28, 40, 45, 46
INamingContainer interface, 195-96
include files, 158-59
Infolink Screening Services, 2, 213-14
information pages, 317-72, 437-54
   adding message box, 439-40
   adding permission settings, 440-42
   customizing default ASP.NET DataGrid control. See DataGrid server controls, custom
   deleting data, 445
   detail. See detail information pages
   detail form, 452-54
   employees information in separate pages, 447-54
   list form and state handling, 449-52
   news items in single page, 437-47
   saving data, 443-45
   scalability and performance, 367-72
   setting focus to controls, 445-47
   user interface strategy, 318-19
   Web-based vs. Windows-based data presentation forms, 320-25
   wiring together, 437-54
inheritance
   code reuse and, 311
   COM, 43
   custom server control, 178, 185
   facade layer and, 273
   in HRnet sample application, 265-69
   interfaces and, 26
   forcing, 69, 80, 266, 280
   .NET Framework classes and, 3-4
   object-oriented programming and, 1
   polymorphism and, 283
   Visual Basic .NET and, 28-29
   from Web template files, 302
   Windows Forms and visual, 52, 287-88, 304, 311-12, 313
   Windows Forms controls, 207
Inherits keyword, 29, 268-69, 406
InitializeComponent method, 208
in-place editing, DataGrid control, 350
InsertCommand property, 93
insert-related stored procedures, 252-53, 257-59
installer, Windows service and event log, 402
Installer packages, 463-65
InstallUtil program, 402
instantiation, 17-19, 261-62, 414. See also constructors
IntelliSense, 27, 112, 263-64, 269
interfaces, 25-26, 265-66, 392-93
interfaces, user. See user interfaces
Interfaces statement, 25-26
Internet, .NET Framework and, 34. See also Web sites
Internet Explorer Web controls, 237-38, 383-85
Internet Information Services (IIS) Authentication, 122, 123-24, 138
interoperability
   ADO.NET XML and, 85
   COM and, 43
InvalidOperationException exception, 64
IsDBNull function, 354
ISerializable interface, 78, 80
ItemCommand event, 220, 230-31, 233

J
JavaScript
   code reuse with, 159
   custom server controls and, 191-92
   setting focus to specific control, 445-47
   Windows DNA and, 42

K
K.I.S.S. principle, 214

L
Label server control
   composite TextBox and, 192-200
   enhanced, 201-5
   Home page, 430-31
   in security header server control, 424
   Web template, 296
languages
   controls and, 162
   maintenance personnel and, 246
   .NET Framework and, 60, 96
layers. See also business layers; data access layers; data layers; facade layers; security layers; user interfaces
   business rules and, 246, 249
   flexible n-tier architecture and, 50
   menu, 216, 237
   .NET Framework and, 50-54
lifetime features, business object, 408-9
LinkButton server control, 218-22, 310-11, 424
list forms, 321-25, 449-52
list/detail data presentation, 318-19, 321, 350-51. See also data presentation forms
ListItem property, 188
LiteralControl server controls, 197, 306-9, 348
Load event, 397
LoadControl command, 176
local weather. See weather information
logging
   event and exception, 61, 75-77, 96, 103-4, 401
   security, 143
logic, separation of design and, 51
login. See also authentication; authorization; forms authentication
   forms, 124-25, 129-34, 153-55
   pages, 289, 421-23
   two-tier, 38-39
Login method, 406
loginUrl attribute, 126-27
logo
   adding logoff functionality, 310-11
   HRnet Home page, 215, 294-95
   image, 297
   security header server control, 425-26
   Windows Forms base form, 312
logoff functionality, 294-95, 310-11
look and feel. See style

M
machine.config file, 462
main menu tab area, HRnet, 215, 295. See also menu handlers
MainMenu class, 239
maintenance, 159, 244
maintenance personnel, 246
manager role, 289
Managers group, 136-37
manifests, assembly, 465
MarshalByRefObject class, 392, 406
marshaling, 49, 392, 405-6
Me keyword, 314
measurement, exceptions and, 61
memory
   DataSet objects and, 93, 368
   session variables and, 367
   structures and, 20
menu and navigation bar components, 218-38
   designing, 223-24
   main menu custom user control, 229-31
   menu component, 224-29
   navigation bar custom user control, 231-36
   .NET technology for, 218-22
   other options for, 236-38
   references, 420-21
   secure, 427-29
   Web templates and, 297-99, 300-301. See also Web templates
   wiring together, 419-21
menu handlers, 211-42. See also Web templates
   component. See menu and navigation bar components
   designing effecive menus, 214-17
   HRnet menu and navigation structure, 292-93, 318- 19
   .NET technology for, 218-22
   strategy for, 212-17
   Windows Forms example, 238-41, 293
MenuItems class, 239
merge modules, 31
Message Authentication Code (MAC), 127
message boxes, 439-40
Message property, 67-68, 70-71, 74, 75
metadata
   assembly, 465
   remoting client, 396-97
methods
   business object, 245, 272, 275
   Command object, 90
   constructor. See constructors; New method
   data types and, 8
   overloading, 22-23, 263-64. See also overloading
   overriding, 23, 313, 314, 315
   parameters. See parameters
   property procedures, 20-21
   role-assignment, 138
   shared, 26
   SQL statement. See SQL statement methods
   stored procedure. See stored procedure methods
   String class, 11
   StringBuilder class, 12
   user control, 171-73
   working with, 21-22
Microsoft Access databases, 118
Microsoft Active Server Pages (ASP), 1, 39, 42, 51
Microsoft intermediate language (MSIL), 2-3
Microsoft Internet Explorer Web controls, 237-38, 383-85
Microsoft Internet Information Services (IIS) Authentication, 122, 123-24, 138
Microsoft msn.com Web site, 212
Microsoft .NET Framework. See .NET Framework
Microsoft .NET Framework Configuration tool, 30-31
Microsoft .NET remoting. See remoting
Microsoft .NET Remoting, 391
Microsoft .NET XML Web Services Step by Step, 373
Microsoft PowerPoint, 55
Microsoft SQL Server. See SQL Server
Microsoft Visio, 55, 56
Microsoft Visual Basic. See Visual Basic
Microsoft Visual Basic .NET. See Visual Basic .NET
Microsoft Visual Basic Scripting Edition (VBScript), 1, 42
Microsoft Visual Studio .NET. See Visual Studio .NET
Microsoft Windows Explorer, 30, 460
modeling applications, 55. See also software architecture
Module statement, 16
modules. See also assemblies; projects, Visual Basic .NET
   class and module files, 16-17
   component-based programming and, 1
   merge, 31
MSDN Web Services Developer Center, 373
msi setup files, 30, 31
MSIL (Microsoft intermediate language), 2-3
msn.com Web site, 212
multilevel inheritance, 311
multithreaded applications, 5, 43
MustInherit keyword, 69, 80, 266, 280
MustOverride keyword, 23
Mybase keyword, 23, 69-70, 80, 269

N
name attribute, 126
names
   application domain, 72
   class and module, 17
   composite server control child controls, 195-96
   control, 447
   cookie, 126
   data access component, 109
   database tables, 92
   errors with Web page, 302-3
   exception classes, 68, 69
   namespaces and, 26-28
   remoting configuration file, 395
   remoting server application, 394
   stored procedure, 245
   strong, 410, 461, 462
   user control, 165-66
Namespace statement, 27-28
namespaces
   data access component, 99, 118
   as .NET Framework feature, 26-28
   three-tier architecture and, 40
native code, 3
navigation structure, HRnet, 215, 292-93, 295. See also menu and navigation bar components; menu handlers
.NET applications. See also .NET Framework; object-oriented programming
   analysis and design, 54-57
   architecture. See software architecture
   communications between. See remoting
   configuring, for authentication, 126-28
   deployment. See deployment, .NET application
   event logs, 75-77
   exception handling. See structured exception handling
   forms authentication architecture, 125-26
   implementing SecurIt component in, 153-56
   multithreaded, 5
   registering GAC assemblies in, 462
   remote host. See host application, remote
   remoting server, 393-95
   sample. See HRnet human resources sample application
   updating XCOPY-deployed, 460
   Web Forms. See Web Forms
   Windows Forms. See Windows Forms
   Windows vs. Web, 211
   wiring events into, 24-25
   wiring together. See wiring together phase
.NET Architecture Center, 244
.NET Framework
   architecture, 49
   authorization types, 135
   business layers and, 53-54
   Configuration tool, 30-31
   data access layers and, 54
    data layers and, 54
   data providers, 86-87
   data types, 8-9
   environmental information, 72-74
   facade layers and, 53
   menu and navigation bar technology, 218-22
   object-oriented features, 2-5. See also object-oriented development
   performance, 48-49. See also performance
   remoting. See remoting
   scalability. See scalability
   security features, 121-23
   software architecture and, 33-35. See also software architecture
   solutions, 50-54
   structured exception handling, 12-13, 59-61. See also structured exception handling
   user interfaces, 51-52
New method, 17-19, 69, 262, 264. See also constructors
news and birthdays, HRnet, 432-35
news management page, HRnet, 437-47
   adding message box, 439-40
   adding permissions settings, 440-42
   deleting data, 445
   news and birthdays, 432-35
   saving data, 443-45
   setting focus to controls, 445-47
   showing detail information, 442-43
Nothing value, 66, 102, 227
notification, event, 61, 77
NotInheritable keyword, 99
NotOverridable keyword, 23
n-tier architecture. See flexible n-tier architecture
null values, 354

O
Object Browser, 67, 68
Object class, 49
object role modeling (ORM), 56
object-oriented development, 1-31
   class and module files, 16-17
   component-based programming, 1-2
   components, classes, objects, and, 13-29
   components and classes, 14-16. See also classes; components; objects
   constructors and destructors, 18-19. See also constructors
   deploying .NET applications, 29-31. See also deployment, .NET application
   events, 24-25. See also event handling; events
   exception handling, 62-63. See also structured exception handling
   inheritance, 28-29. See also inheritance
   instantiating and using classes, 17-19
   interfaces, 25-26
   methods, 21-22. See also methods
   namespaces, 26-28
   .NET Framework and, 2-5. See also .NET Framework
   overloading properties and methods, 22-23. See also overloading
   overriding methods, 23
   property procedures, 20-21
   shared members, 26
   structures, 19-20
   Visual Basic .NET and, 1, 8-13. See also Visual Basic .NET
   Visual Studio .NET and, 6-7. See also Visual Studio .NET
object-oriented programming (OOP)
   business layers. See business layers
   code reuse and, 287
   component-based programming vs., 1-2
   data access layers. See data access layers
   exception handling. See structured exception handling
   facade layers. See facade layers
   information pages. See information pages
   menu handlers. See menu handlers
   .NET architectural options. See software architecture
   object-oriented development. See object-oriented development
   remoting. See remoting
   security layers. See security layers
   user interface templates. See user interface templates
   Visual Basic .NET features, 261-69
   Web client handlers. See controls
   wiring applications together. See wiring together phase
   XML Web services. See XML Web services
objects. See also components
   ADO.NET, 85-87. See also ADO.NET
   boxing and, 8
   classes and, 18. See also classes
   frameworks of, 26, 29, 53-54
   private, 100
    references, 17-18. See also references
   structures vs., 20
OLE DB data provider, 54, 86, 118
On Error Goto statement, 59
one-page grid and detail form
   HRnet news management, 437-47
   Web Forms, 351-55, 365-67
   Windows Forms, 454-59
one-tier architecture, 35-36
OnInit method, 306-7
OnItemCreated method, 334-35, 346
OnPageIndexChanged method, 330-32
OnPaint method, 206, 207
OnPreRender method, 191-92
Open method, 64
operational specification, 55
Option Strict statement, 48
optional parameters, 22
output parameters, stored procedure, 118
overloading
   constructors, 264-65
   properties and methods, 22-23, 76, 263-64
Overloads keyword, 23, 263, 264
Overrides keyword, 23
overriding methods, 23, 313, 314, 315

P
Page class, 304
page count, DataGrid control, 346-49
page detail area, HRnet, 215, 295
@Page directive, 164
page templates, menu and navigation, 216
Page_Load event, 227, 234, 306-9, 359-60
pager bar, enhanced DataGrid control, 332-33
pages, Web Forms. See Web Forms
pagination, DataGrid control, 330-32
paging, enhanced DataGrid control, 333-37
parameterized constructors, 262
parameters
   class instantiation and, 261-62
   constructor, 262
   data access component, 100
   get-related stored procedures, 256
   insert-related stored procedures, 257-59
   methods and, 21-22
   optional, 22
   overloaded methods and, 23, 263
   stored procedure, 48, 89-90, 96, 112-17, 118
   update-related stored procedures, 259-61
Parameters collection, 89-90
parentheses (), 22
ParseChildren attribute, 195
Passport authentication, 122
passwords, 41, 125, 128-29, 139, 156, 247. See also authentication; authorization; forms authentication
path attribute, 128
patterns, 244
pdb extension, 29
performance
   ADO.NET, 84, 85
   DataReader object, 85, 91
   .NET vs. COM/COM+, 48-49
   New operator, 18
   scalability and, 34, 83, 367-72. See also scalability
   session variables and, 367
   stored procedures, 38, 249
   testing, 83
   two-tier architecture and, 37
   Web page template class, 310
performance counters, 7, 120
permissions. See also security layers
   adding, to grid and detail forms, 359-62, 447-54
   adding settings for news items, 440-42
   event logging, 103
   handling, in detail custom server control, 363-67
   security header server control and, 426-27
PersistChildren attribute, 195
persistence
   of data in local XML files, 368-69
   of DataSet objects in session variables, 331
   of variables with attributes, 342
personalization, 125
PlaceHolder controls, 177-78, 304-5, 306
placing dynamically loaded controls, 177-78
policies. See business rules
polymorphism, 283, 286
pooling, connection, 119-20
Portable Executable (PE) files, 465
presentation layer, 39
principals, security, 123, 134-35
Private keyword, 331
private variables and objects, 100
procedures, company. See business rules
procedures, property, 20-21
procedures, stored. See stored procedures
projects, Visual Basic .NET, 13, 26
properties
   adding custom, to custom base exception classes, 71- 74
   composite server control, 200
   custom exception class, 68
   data access component, 101-2
   DataAdapter object, 93
   Message, 67-68, 70-71, 74
   overloading, 22-23
   public, for usernames and passwords, 41
   security custom server control, 149
   shared, 26
   user control, 167-71
property procedures, 20-21
Protected keyword, 79, 331
protection attribute, 127
protocols, SOAP, 385. See also SOAP
proxy class, XML Web service, 377-78, 390
public variables, 167
publicly available XML Web services, 378-85

Q
queries based on business rules, 248-55. See also SQL strings
question mark (?), 138, 377

R
Raise method, 62
RaiseEvent statement, 24, 206
rapid application building (RAB), 417-18
rapid application development (RAD) features, 6, 209, 417
Rational Rose, 55
ReadXML method, 370
record count, DataGrid control, 346-49
ReDim statement, 9-10
Redirect method, 152, 155, 356
RedirectFromLoginPage method, 125-26, 132
redirection
   grid and detail forms, 356-58
   HTTP client-side, 125, 152, 155
   menu component, 220-21
reference types, 8
references
   adding, 41
   full custom server controls, 179
   HRnet, 420-21
   namespaces and, 26-28
   object, 17-18
   remote class, 392-93
   user control, 170
   Web Forms page, 175-76
   XML Web service, 377-78
reflection, 170
regions, 99, 245
@Register directive, 165, 166, 180
RegisterClientScriptBlock method, 191, 446
registering
   assemblies, 465
   components, 300
   custom DataGrid controls, 329
   custom server controls, 180-81
   data access component, 118
   deployment and, 459
   GAC assemblies, 462
   HTTP channel, 398
   Java Script, 446
   user controls, 165-66, 180
RegisterStartupScript method, 191-92
relational database management systems (RDBMS's), 39. See also databases
remoting, 391-416
   building clients, 395-400, 410-16
   building host, 400-405
   business layer, 407-9
   business objects, 405-9
   creating server, 393-95
   deployment, 409-10
   exception-handling objects and, 61, 78-80
   security layer, 406-7
   testing, 391-93
RemoveHandler keyword, 25
Render method, 151, 183, 190, 197-98, 425
RenderControl method, 198
Repeater server controls, 321
ResolveUrl method, 151
resource management, 243-44. See also business layers
Resume statement, 59
Return statement, 21-22
return values, 21-22
reuse, code, 158-59, 287, 311
role-based authorization, 121-22, 134-38, 139, 247, 289. See also authorization
roles, 137, 289
Rollback method, 88
rules, business. See business rules
runtime, .NET Framework. See common language runtime
run-time views. See also design-time views
   composite server control, 199-200
   custom server control, 183

S
save functionality, 245, 251-52
saving data, 443-45
scalability
   ADO.NET, 84-85
   business layer, 243-44
   performance and, 34, 83, 367-72. See also performance
   session variables and, 230
   stored procedure, 249
   two-tier architecture and, 37
SecurIt component, 138-56, 421-29
   architecture, 138-40
   business layers and, 247-48
   creating, 140-48
   implementing, in applications, 153-56
   login page, 421-23
   secure header, 148-53
   secure menu structure, 427-29
   security header server control, 423-26
   security permissions, 426-27. See also permissions
   wiring together, 421-29
security
   code access, 3
   component. See SecurIt component
   configuration file, 93
   DataGrid control, 325
   layers. See security layers
Security class, 40
security header server control, 423-26
security layers, 121-56
   adding permissions to grid and detail forms, 359-62
   application security needs, 123-24
   authorization features, 134-38
   business layer interactions with, 247-48
   component. See SecurIt component
   forms authentication services, 124-34
   HRnet, 246-47, 289, 293
   logoff functionality, 294-95
   .NET security features, 122-23
   remoting, 406-7
   remoting client, 415
   SOAP and, 387-89
SelectCommand property, 92
SelectedIndexChanged event, 351-52, 442
selectString SQL statement, 235
<Serializable()> attribute, 78, 80
serializing DataSet objects, 368-70
serializing exception-handling objects, 61, 78-80
server, remoting, 393-95
server controls, built-in, 157-60, 218-22. See also custom server controls
Server Explorer, Visual Studio .NET, 7, 98
server objects, remoting, 392
server.execute command, 159
service, Windows, 401-5
ServiceController class, 403-5
Session objects, 141, 311
session state, 367-68. See also state handling
session variables, 229-31, 233, 331, 367-68, 423
Set method, 20-21, 169-70, 186
SetAuthCookie method, 126, 132
Setup files, 463-65
Shared keyword, 26
simple classes, 14-15. See also classes
simplicity, 318
sn.exe utility, 462
SOAP, 385-90
   calling functionality from clients, 389-90
   document structure, 386-89
   supported protocols, 385
SOAPFault class, 386
SOAPHeader class, 387
Soapsuds tool, 393, 395-96
software architecture, 33-57
   analysis and design and, 54-57
   business objects, 244-46
   choosing, 34-35
   database access and usage strategy, 97
   design step, 56. See also design
   facade layer, 273-74
   flexible n-tier, 43-50
   forms authentication, 125-26
   history, 35-50
   HRnet, 288-93
   menu and navigation bar components, 212-17
   .NET Framework and, 2, 33, 50-54. See also .NET Framework
   one-tier, 35-36
   security layers, 139-40
   three-tier, 39-43
   two-tier, 36-39
   user interface strategy, 318-19
Solution Explorer, Visual Studio .NET, 7, 27
sorting
   array, 10
   DataGrid control, 330, 342-46, 350
SQL Data Providers, 54, 96, 119
SQL Server
   ADO.NET performance with, 84
   connection pooling, 119-20
   credentials database, 139
   data access object and, 96, 97
   data layer and, 54
   DiffGrams and, 376
   flexible n-tier architecture and, 50
   .NET data provider, 86
   separate Web server and Web server farm, 368
   three-tier architecture and, 39-40
SQL statement methods. See also SQL strings
   adding other, 110-11
   calling, 108-10
   code for, 107-8
   defining, 102
   exception handling, 103
   exception logging, 103-4
   handling parameters, 112-17
   OLE DB provider example, 118
   with stored procedures, 111-18
   validating SQL and closing connection, 104-7
SQL strings
   Command objects and, 88-90
   data access component, 96, 97. See also SQL statement methods
   navigation bar component, 235
   queries based on business rules, 248-55
   validating, 104-5
   XML Web services and, 376-77
SqlException exception, 64
StackTrace property, 75, 76
Start page, Visual Studio .NET, 6-7
startup code, 18
state handling
   attributes for Web controls, 339
   COM, 43
   composite server control, 196
   custom server control, 183-84
   DataSet object, 93
   detail custom server control, 363-67
   detail form, 452-54
   grid and detail form, 359-62
   list form, 449-52
   menu user control, 229-31
   session state recommendations, 367-68
   user control, 168-73
State property, 59
static variables, 22
stored procedure methods, 111-18
   adding other, 117-18
   handling parameters, 112-17
   OLE DB provider example, 118
   running, without parameters, 111-12
stored procedures
   business layers and, 244, 245, 248-55
   Command objects and, 89-90
   data access component, 96
   data access with, 37-39, 45-49, 97
   DataSet object and, 93-94
   get-related, 249-51, 255-56
   insert-related, 257-59
   methods with. See stored procedure methods
   naming conventions, 245
   queries based on business rules, 248-55
   security and, 132-33, 145
   transactions, data concurrency, and, 119
   update-related, 259-61
String class, 8, 11
string handling, 10-12
StringBuilder class, 12, 446-47
strings. See connection strings; SQL strings; string handling
strong names, 410, 461, 462
strongly typed data, 85
structured exception handling, 59-81
   concept of, 61-62
   creating application exception class hierarchies, 80- 81
   data access component, 96, 103-4, 109
   error handling vs., 12-13
   errors vs. exceptions, 60. See also errors; exceptions
   exception-handling objects. See exception-handling objects
   history, 59
   logging, 61, 75-77, 96, 103-4, 401
   .NET Framework and, 60-61
   object-oriented, 62-63
   syntax of Try statement, 63-66
structures, 19-20
style
   DataGrid AutoFormat feature, 327
   menu style sheets, 221-22, 236
   Web template and, 298-99, 304
   Windows Forms template visual inheritance, 311-12
subclassed forms, 312
subroutines. See methods
summary page, HRnet, 290-91
SuppressFinalize method, 106
system analysis, 54-55
System.Data namespace, 118
System.Diagnostics namespace, 75
System.Drawing namespace, 190, 328
SystemException class, 67
System.Runtime.Remoting namespace, 393
System.Web.UI namespace, 304
System.Web.UI.Controls namespace, 328
System.Web.UI.Design namespace, 199
System.Web.UI.HtmlControls namespace, 176
System.Web.UI.Page, 3-4
System.Web.UI.WebControls namespace, 181, 195
System.Windows.Forms namespace, 206, 207

T
tab controls, menu, 218-19
Table controls, 347-48
TableDirect option, 89
tables
   menu data, 217, 223-29
   user credential, 128-29
   Web template, 298-99
Tables collection, 93, 94
Tabular Data Stream (TDS), 84, 119
TagName, 165-66, 180
TagPrefix, 165-66, 180, 181-82
TagPrefixAttribute attribute, 181-82
taskbar, Windows service and, 405
TemplateColumns, DataGrid control, 433-34
templates
   DataGrid control formatting, 349
   full custom server control, 179
   HRnet, 216, 419-21
   menu, 222, 224, 236
   user interface. See user interface templates
   Web. See Web templates
   Windows Forms, 311-15
   wiring together, 419-21
testing
   data access component, 108-10, 116-17
   menu and navigation component, 236
   menu component, 227-29
   performance, 83
   remoting, 391-93
   security component, 148
   Web template, 296-97
   Windows Forms DataGrid control, 459
    XML Web services, 377-78
Text property, 182, 188, 196-97
TextBox server control
   adding, to DataGrid control, 337-41, 346-50
   composite Label and, 192-200
   enhanced, 188-92
   enhanced Label and, 201-5
   limitations of, 158
   user control vs., 162
third-party controls, 161
three-tier architecture, 39-44
Throw statement, 59, 63
timeout, session, 230
timeout attribute, 127-28
titles, HRnet, 454-59
Toolbox, Visual Studio .NET
   adding custom server controls to, 158, 184
   adding security header control to, 153
   components and, 98
   Visual Studio .NET interface and, 6
ToolboxData attribute, 181
tools, Windows DNA, 42
ToolTips, 217, 219-20, 264, 336-37
Transaction objects, 87
transactions, 87-88, 119
Transfer method, 152, 155
trend analysis, exceptions and, 61
Triple-DES (3DES) encryption, 127
Try statement, 13, 59, 63-66. See also structured exception handling
tuning applications, 244
two-page grid and detail forms, 356-58
two-tier architecture, 36-39
type libraries, 3
types. See data types

U
Unselect method, 352
Update method, 93
UpdateCommand property, 93
updating
   data in information pages, 443-45
   facade layer and upgrades, 273
   functionality, 245
   update-related stored procedures, 251-52, 259-61
   XCOPY-deployed applications, 460
URL, login page, 126-27
URL authorization, 122, 138
URLAuthorizationModule class, 138
user controls, 163-78
   adding, dynamically, 175-76
   basics of, 164-66
   custom server controls vs., 52, 158, 161-63. See also custom server controls
   event bubbling in, 173-74
   menu, 229-31
   methods, 171-73
   navigation bar, 231-36
   in one-page grid and detail form, 351-55
   options for menu and navigation bar, 236-38
   placing dynamically added, 177-78
   properties, 167-71
   Web Forms and, 51-52, 163-64
   Web page template class and, 310
   Web templates and, 295-96
user interface templates, 287-316
   adding functionality, 310-11
   calling code in code-behind files, 315
   creating, 294-99
   creating HRnet application from, 299-304
   creating Windows Forms templates, 311-15
   HRnet Home page, 301-4
   HRnet sample application specifications, 288-93
   overview, 287-88
   Web page template class, 304-11
   Web template files, 295-99
   Web template layout, 294-95
user interfaces
   controls and, 51-52, 161. See also controls; custom server controls; user controls
   design step, 56
   facade layers and, 274. See also facade layers
   menus. See menu handlers
   .NET Framework, 51-52
   n-tier architecture and, 50
   strategies for information pages, 317-19
   templates. See user interface templates
   three-tier architecture and, 39-40
   Visual Basic and, 43
   Visual Studio .NET, 6-7
UserControl class, 207
user-defined types (UDTs), 19
usernames, 41, 125, 128-29, 139, 247. See also authentication; authorization; forms authentication
users, anonymous, 126, 138

V
validation
   activating, with composite Label and TextBox server control, 192, 201-5
   adding code for, 315
   cookie, 127
   SQL strings, 104-5
validation controls, 131
value types, 8, 19
variables
   data types, boxing, and, 8
   persisting, with attributes, 342
   private, 100
   public, for user controls, 167
   session, 143, 229-31, 233, 331, 367-68, 423
   static, 22
vb extension, 16
vbc.exe compiler, 2
VBScript (Visual Basic Scripting Edition), 1, 42
verification, access, 263-65
versioning
   assemblies and, 465-66
   AssemblyVersion attribute, 461-62
   COM and, 42-43
views
   custom server control, 183
   DataSet, 94
   design-time. See design-time views
   run-time. See run-time views
ViewState values, 168, 183-84, 331, 339, 443
visibility, navigation bar, 234-35
Visio, 55, 56
Visual Basic
   class instantiation, 261-62
   classes and components, 13
   data binding, 324
   data types, 8
   error handling, 59
   user-defined types (UDTs), 19
   Visual Basic .NET vs., 1-2. See also Visual Basic .NET
   Windows DNA and, 42-43
Visual Basic .NET, 8-13
   arrays, 9-10
   compilation, 2-3
   constructors, 261-62
   data types, 8-9
   files, 16-17
   inheritance, 265-69
   language changes, 8-13. See also Visual Basic
   object-oriented development and, 1
   object-oriented features, 261-69
   overloaded constructors, 264-65
   overloaded methods, 263-64
   string handling, 10-12
   structured exception handling, 12-13
   Windows Forms menus, 238-41
Visual Basic Scripting Edition (VBScript), 1, 42
visual cues, 318
visual inheritance, Windows Forms, 52, 287-88, 304, 311-12
Visual Object Modelers' Visual UML, 55
Visual Studio .NET
   compilation, 2-3
   components and, 98
   creating classes and components, 14-16
   custom server controls and, 178, 179
   deployment and, 29-30
   files, 17
   namespaces and, 26-27
   support for components, 6-7
   Toolbox and custom server controls, 184

W
weather information
   HRnet, 290, 435-37
   Web control, 290, 383-85
   XML Web service, 378-85
Web client handlers. See controls
Web controls, Internet Explorer
   as user controls, 237-38
   WeatherInfo, 383-85
Web Forms. See also ASP.NET
   application base class, 3-4
   business logic, 41
   calling code from pages, 315
   custom server controls and, 52, 180-81. See also custom server controls
   custom template class, 304-11
   data access component in, 118-19
   data presentation forms, 320. See also data presentation forms; information pages
   DataSet objects and, 95
   detail information, 447-54
   errors with duplicate names for pages, 302-3
   login page, 421-23
   navigating, 211
   pages as user controls, 164
   security needs, 124, 140. See also forms authentication
   templates. See Web templates
   user controls and, 51-52, 164. See also user controls
   as user interface, 51, 287. See also user interface templates
Web references, 377
Web sample application. See HRnet human resources sample application
Web Services Description Language. See WSDL
Web Setup projects, 463-65
Web sites
   MSDN Web Services Developer Center, 373
   navigation features, 212-14
   .NET Architecture Center, 244
   World Wide Web Consortium, 386
Web templates, 294-99. See also menu handlers
   advantages and disadvantages of, 303-4
   creating HRnet application from, 299-304
   custom class, 304-11
   files, 295-99
   layout, 294-95
Web.config file, 92-93, 124, 126-28
WebControl class, 150, 178, 181, 185-86. See also full custom server controls
windows, hidden Visual Studio .NET, 7
Windows authentication, 122, 123-24
Windows authorization, 122, 135
Windows DNA, 39-44, 49
Windows event logs, 75
Windows Explorer, 30, 460
Windows Forms
   business logic, 41
   calling code from, 315
   client for remote business objects, 410-16
   client for XML Web service, 389-90
   company information, 292
   custom server controls, 206-8
   data access component in, 118-19
   data presentation forms, 320. See also data presentation forms
   HRnet titles, 454-59
   menus, 238-41, 293
   navigating, 211
   remote host, 400-401
   remoting client, 395-400
   remoting server, 393-95
   security needs, 124, 140
   templates, 311-15
   as user interface, 51
   visual inheritance, 52, 287-88, 304, 311-12, 313
Windows Forms templates, 311-15
   base forms, 312-14
   data entry form, 315
   visual inheritance and, 311-12
Windows hoster, 400-401
Windows Installer packages, 463-65
Windows Management Instrumentation (WMI) classes, 7
Windows principals, 135
Windows service hoster, 401-5
WindowsIdentity class, 136-37
WindowsPrincipal class, 136-37
wiring events into applications, 24-25
wiring together phase, 56, 417-67
   assemblies and versioning, 465-66
   deploying applications, 459-65
   Home page, 429-37
   information and data pages. See information pages
   menu structure and templates, 419-21
   as rapid application building, 417-18
   security, 421-29
   steps for, 418-19
   Windows Forms titles, 454-59
WithEvents keyword, 24-25, 174
WriteLog method, 76-77
WriteXML method, 370
writing applications, 56
WSDL (Web Services Description Language)
   remoting client and, 395
   XML Web service, 379-80
wsdl.exe utility, 378

X
XCOPY deployment, 460
XML (Extensible Markup Language)
   ADO.NET interoperability and, 54, 85
   ADO.NET performance and, 84
   data access component and, 117-18
   DataSet objects and, 93, 95, 368
   deserializing DataSet objects, 370-72
   menu and navigation bar component and, 217, 237
   serializing DataSet objects with XML files, 368-70
   SOAP documents, 386. See also SOAP
XML Schemas, 95
XML Web services, 373-90
   business layers and, 373. See also business layers
   consuming, 376-78
   HRnet Home page and, 290
   implementing, 374-76
   proxy class and, 378
   publicly available, 378-85
   SOAP and, 385-90
   WeatherInfo Web control, 383-85
XMLTextReader class, 370
XMLTextWriter class, 369-70
XSL (Extensible Stylesheet Language), 42

Z
zero-based arrays, 9



Last Updated: September 18, 2002
Top of Page