|
|
 |

 |
|
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.
|
|
|
|
|
 |
|
|
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
|