WaitCallback delegate, 366
#warning preprocessor directive, 72
WCF (Windows Communication Foundation)
architecture, 1135
ASP.NET and, 1146
binding, 1141–1143
client applications, 1144
contracts, defined, 1137
data contract, 1137, 1138
described, 1125
Enterprise Services and, 1146–1147
features, 1134–1135
hosting, 1143–1144
layers of applications, 1135, 1136
message contract, 1137, 1139
Message Queuing and, 1147
.NET Remoting and, 1145–1146
overview, 1134–1136
preparing for, 1145–1147
programming with, 1137–1144
service contract, 1137–1138
service implementation, 1139–1141
ways of sending messages, 1135
Web services contract, 1137
Web Forms. See also ASP.NET; PCSDemoSite application (ASP.NET)
ADO.NET and data binding for, 926–939
application configuration, 939–941
authentication using Security Wizard, 964–969
creating files with text editor, 905
creating in Visual Studio 2005, 906–908
creating with C#, 23
defined, 23
design considerations, 905–908
IDEs for, 905
Label control, 920
login system implementation, 969–970
<%@ Page %> tag, 908
PCSWebApp1 example, 906–908, 909
process after user requests, 909
restricting directory access, 971–973
security, 963–973
server control example, 920–925
state management in ASP.NET and, 905
Web server controls for, 23
Web server, client deployment from, 566–567
Web server controls (ASP.NET). See also event-booking application
adding to PCSWebApp1 example, 911–913
binding to the database, 927–928
Crystal Reports controls, 914
data controls, 917–918
defined, 23, 910
login controls, 970–971
navigation controls, 960–963
runat="server" attribute, 910
standard controls, 914–917
validation controls, 918–920
WebParts controls, 920
Web Service Description Language. See WSDL
Web services. See also Web services specifications
adding a method accessible through, 988
consuming, 990–993
CookieContainer class with, 1004–1005
creating client for, 991–992
declaring custom SOAP header, 1002
defined, 983
event-booking application, 993–1001
exchanging data using SOAP headers, 1001–1007
exposing, 987–990
with .NET Remoting, 1010
proxy class for, 990–992
SOAP for, 983, 984–985
types available for, 990
viewing WSDL for, 990
WCF contract for, 1137
WSDL for, 983, 985–987
WSDL.exe tool, 991
Web services specifications
current issues, 1126–1127
performance and, 1133–1134
for transactions, 1131–1133
WS-Addressing, 1134
WS-AtomicTransactions, 1131
WS-BusinessActivity, 1131–1133
WS-Coordination, 1131
WS-Federation, 1127
WS-ReliableMessaging, 1129–1131
WS-SecureConversation, 1128–1129
WS-Security, 1128
WebBrowser control (Windows Forms)
displaying the code of a requested page, 1256–1257
giving applications IE-type features, 1248–1253
printing using, 1255–1256
showing documents using, 1254–1255
for simple Web browsing from applications, 1246–1247
starting an Internet Explorer process programmatically, 1245–1246
WebClient class
BasicWebClient example, 1240–1241
DownloadFile() method, 1240
OpenRead() method, 1240–1241
OpenWrite() method, 1241
overview, 1240
UploadData() method, 1242
UploadFile() method, 1242
web.config file
ASP.NET application configuration, 940
for event-booking application, 993
<globalization> element, 544
hosting .NET Remoting servers in ASP.NET and, 1050–1051
WebParts Web server controls (ASP.NET), 920
WebRequest class
asynchronous page requests, 1244–1245
authentication, 1244
BasicWebClient example, 1242–1243
class hierarchy, 1257–1258
HTTP header information support, 1243–1244
WebClient class versus, 1242
WebResponse class
BasicWebClient example, 1242–1243
class hierarchy, 1257–1258
HTTP header information support, 1243–1244
WebClient class versus, 1242
WelcomeMessage() method, 535, 536, 541–542
Wellknown_Client.config file (.NET Remoting), 1043
Wellknown_Server.config file (.NET Remoting), 1042–1043
WhatsNewAttributes example
LookUpWhatsNew assembly, 310, 321–324
overview, 310–311
VectorClass assembly, 310, 312–313
WhatsNewAttributes library assembly, 310, 311–312
WhatsNewChecker class, 321–322
while statements
overview, 53
scope of local variables declared in, 36
in SimpleExceptions class, 334
Wiley Publishing, Inc.
Beginning XML, 659
Professional ASP.NET 1.1, 910, 940
Windows Controls, 24
Windows Forms. See also events; graphics; specific classes, controls, and components
ActiveX controls in, 1168–1171
appearance properties for controls, 760
application for ActiveX controls, 1169–1170
Button control, 762–763, 1249–1253
CheckBox control, 764
CheckedListBox control, 765
class hierarchy, 757–758
ComboBox control, 765, 767
ContextMenuStrip class, 779
Control class, 759–762
controlling appearance of forms, 784–786
creating an application, 752–757
custom controls, 787–799
DateTimePicker control, 765
disposing of forms, 755
ErrorProvider component, 767–769
FlowLayoutPanel control, 774–775
focus, gaining and losing for controls, 761
FolderTree custom control, 789–794
Form class, 752, 780–786
Form, defined, 780
globalization demo application, 520–524
grouping controls on tab pages, 776
Height property, 92–93
HelpProvider component, 769
ImageList component, 769
Label control, 769–770
LinkLabel control, 1248
ListBox control, 765–767
ListView control, 770–772
Localizable property, 536, 537
localization application, 520–524
MaskedTextBox control, 773, 774
MDI (Multiple Document Interface), 786–787
MenuStrip control, 779
namespaces for, 751
overview, 24
Panel control, 774
PictureBox control, 772
ProgressBar control, 772
RadioButton control, 764
reading drive information, 1220–1222
reading from files, 1202–1204
RichTextBox control, 773–774
running controls in Internet Explorer, 1183
SDI (Single Document Interface), 781
setting colors for forms, 785
shape-drawing application, 844–847
showing forms in taskbar, 782
size and location properties for controls, 759–760
SplitContainer control, 775
standard controls and components, 762–780
system menu for forms, 784–785
TabControl control, 776
TableLayoutPanel control, 774, 775
TabPages control, 776
TextBox control, 773, 1246–1247
ToolStrip control, 776–779
ToolStripContainer control, 780
ToolStripControlHost control, 777–779
ToolStripDropDownItem control, 777
ToolStripManager class, 780
ToolStripMenuItem class, 779–780
TreeView control, custom control based on, 788–794
user interaction, 760–761, 782–784
UserSearch Active Directory application, 740–745
visibility of forms, 781, 782
visual styles for forms, 785–786
WebBrowser control, 1245–1247, 1248–1257
Windows functionality and, 761–762
writing to files, 1204–1205
Windows Installer projects
ClickOnce compared to Windows Installer, 567–568
creating installers, 557–567
for Enterprise Services, 1074–1075
installing client from Web server, 566–567
No Touch Deployment (NTD), 566–567
options for deployment, 552
project types available, 556
simple client application, deployment project as separate solution, 558–562
simple client application, deployment project in same solution, 563–564
simple Web application, 564–565
Windows Installer overview, 556–557
for Windows Services, 1287–1292
Windows Resource Localization Editor (winres.exe), 543
Windows Services. See also quote server application
architecture, 1272–1275
class library using sockets, 1276–1279
creating as service, 1275–1292
defined, 1271
event logging, 1302–1308
example services, 1272
handler methods, 1274
installing, 1287–1292
interactive services, 1302
monitoring and controlling services, 1292–1301
namespace for, 1275
net.exe utility, 1293–1294
overview, 24
performance monitoring, 1308–1313
power events and, 1314
project wizard for, 1281–1283
QuoteService example, 1281–1286
sc.exe utility, 1294–1295
service configuration program, 1275
Service Control Manager (SCM), 1273, 1274
service control program, 1275
service program, 1273–1274
service start, 1285
ServiceBase class, 1283–1284
ServiceController class, 1295–1301
service-main function, 1273–1274
Services administration tool, 1272
Services MMC snap-in, 1293
TcpClient example, 1279–1281
threading and, 1287
troubleshooting, 1301–1313
viewing all services on a system, 1272
Visual Studio Server Explorer, 1295
Windows.Forms namespace, 188
winres.exe (Windows Resource Localization Editor), 543
worker threads, 352
world coordinates, 863
WorldCoordinatesToLineIndex() method, 889
WorldYCoordinateToLineIndex() method, 889
WriteAttributeInfo() method, 323
WriteMatches() method, 240
write-only properties, avoiding, 81, 94
WriteXml() method (DataSet class), 624–625, 690–691
writing to files
binary files, 1208–1213
overview, 1201
text files, 1213–1219
Windows Forms for, 1204–1205
WROX Web site, 895, 920, 1151
WS-Addressing specification, 1134
WS-AtomicTransactions specification, 1131
WS-BusinessActivity specification, 1131–1133
WS-Coordination specification, 1131
WSDL (Web Service Description Language)
described, 983
overview, 985–987
type-definition section, 985–986
viewing for Web services, 990
as WCF contract, 1137
as XML-compliant syntax, 985
WSDL.exe tool, 991
WS-Federation specification, 1127
WS-ReliableMessaging specification, 1129–1131
WS-SecureConversation specification, 1128–1129
WS-Security specification, 1128