Index

Symbols
-- decrement operator 294
? subtraction operator 295
? unary minus operator 294
! negation operator 296
!= inequality operator 295
#define directive 317
#elif directive 317
#else directive 317
#endif directive 317
#endregion directive 318
#error directive 317
#if directive 317
#line directive 317
#region directive 318
#undef directive 317
#warning directive 317
% remainder operator 295
& address of operator 297
& bitwise operator 297
&& logical operator 296
() cast operator 297
* multiplication operator 295
* pointer indirection operator 297
+ addition operator 294
+ unary plus operator 294
++ increment operator 294
. dot operator 297
< less than operator 295
<= less than or equal to operator 295
== equality operator 295
> greater than operator 295
-> pointer member access operator 297
>= greater than or equal to operator 295
? conditional operator 296
[] indexing operator 297
[] pointer index operator 297
^ exclusive or (XOR) operator 296
| bitwise operator 296
|| logical operator 296
~ bitwise complement operator 296
/ division operator 295
 
A
abstract keyword 309
AcceptChanges method 85?87
access modifiers 312
accessing the Win32 API 233
AcquireRequestState event 267
activation modes 121
Activator.CreateInstance 43, 148
Activator.GetObject 121, 123, 142, 148
Active Server Pages. See ASP
ActiveX Data Objects. See ADO
AddRange method 226
ADO 10, 78
ADO.NET 2, 10?11, 56, 77
     connection string 82
     databases 78?116
     DataSet 80
ADO.NET (continued)
     DataTable 80
     namespaces 79
     Poker.Bank class 89
AL 44
     add statement 45
     compiler 47, 54
     print statement 45?46
     reset statement 45
     sub statement 45
     translating to IL 45
alc.exe 45
AlcAsm 46, 48
AlcCls 46, 48
AlcMod 46, 48
Alignment property 226
AllowPaging property 255
anchoring controls 207
APL 2
Application class 190, 205
application configuration file 33
application domains 118
Application.DoEvents 205
Application.Exit 205
Application.Run 205
Application_Start 272?273
ArgumentException 314
arithmetic language. See AL
arrays 18, 293
as operator 317
ASP 10, 241?244
.asp files 242
ASP.NET 10, 165?166, 241, 244?246
     application-level storage 189
     and HTML 250
.aspx files 242
assemblies 15, 26, 118
     downloading 35, 73
     versions 30?31
assembly 27, 46
assembly download cache 37
AssemblyBuilder class 47
AssemblyBuilderAccess.Save 48
AssemblyInfo.cs file 276
AssemblyName class 48
AssemblyVersion attribute 318
assignment in C# 19, 296
asynchronous method invocation 178
attributes 318
AutoScroll property 213
 
B
Bank class. See Poker.Bank class
bank loan system example 11
Base 64 encoding 140?142, 251
BeginEdit method 85
BeginRequest event 267
Bet class. See Poker.Bet class
bias 58, 95, 110
bit-shifting operators 296
bool type 292
BorderStyle attribute 226
boxing 15, 20, 38?39, 311
break statement 300
build number 30
BusinessList class 198
Button, ASP.NET control 252
Button, Windows Forms control 220
byte type 292
 
C
C programming language 7, 18
C# programming language 11?12, 16?17, 289?320
C++ programming language 18?19
     destructor 23
C/SDK 203, 238
Calendar, ASP.NET control 252
CallingConventions.Standard 48
Cancel property 234
CancelEventArgs class 207
Card class. See Poker.Card class
catch keyword 313
CGI 241
ChannelServices.RegisterChannel 121
char type 18, 292
CheckBox, ASP.NET control 252
CheckBox, Windows Forms control 224?225, 236
CheckBoxList, Windows Forms control 252
checked operator 297
classes 17, 290, 302?303
Click event 220
client activation 130
client/server 11, 14, 56
client-activated objects 131
Close method 26
CLR 2, 6, 10?11, 34, 44
CLS 6, 11, 17
CLSCompliant attribute 6, 17
COBOL 2
configuration tag 37
CodeBehind attribute 165, 276, 278?279
COM 3?4, 56, 70?72
     COM-based poker game 70?77
COM+ 72, 119
Common Language Runtime. See CLR
Common Language Specification. See CLS
Common Type System. See CTS
CompareValidator, ASP.NET control 261
ComPok 70?77
Component class 209, 211
components, .NET 4
Conditional attribute 319
configuration file 33, 145
ConPok 77, 114?115
Console.WriteLine 23
const keyword 293
constants 291, 293
Container property 209, 211
ContainerControl class 214
ContainerControl.ActiveControl 214
Context property 166
continue statement 299
Control class 211
Controls property 222
controls, ASP.NET 248
controls, Windows Forms 205
controlToValidate property 263
CookieContainer class 185
cookieless 274
cookies 188
CORBA 4, 13, 164?165
CreateInstance method 43, 148
cross-language
     compatibility 11
     inheritance 6, 11
     interoperability 6
csc.exe 5, 318
CTS 2, 17
CurrentLeaseTime property 132
CurrentState property 132
CustomValidator, ASP.NET control 261
 
D
DAO 78
database management system (DBMS) 80
DataGrid, ASP.NET control 252, 254?255
DataList, ASP.NET control 252
DataReader class 79, 88
DataRelation class 87
DataRow class 82, 86
DataRowState enumeration 86
DataSet 79?80, 86?87
     and XML 83
     creating 81?82
     GetXml method 84
     Tables collection 80
     updating a database 85
DataSource property 255
DataTable class 82, 86?87
DB2 11
DCOM 13, 164?165
debugging 3
decimal type 17, 292
DefaultWsdlHelpGenerator 167
delegates 290, 314
Delete method 87
delta 94
deployment 4
DesignMode property 209
destructor 21
disassembling 28, 39
DISCO 190?192, 194
DiscoveryDocument class 194
display property 263
Dispose method 24?26, 209, 211
DLL 3, 16, 26, 69
DllImport attribute 233
do statement 298
docking 207
DoEvents method 228
double type 292
DropDownList, ASP.NET control 252
dynamic linking 10
 
E
Echo, remote services example 136?137
Eiffel 2
ElapsedEventHandler delegate 316
Emit method 50
enableClientScript property 263
EnableSession property 184
EndEdit method 85
EndRequest event 267
enum keyword 314
enumerations 290
Equals method 21?23, 60
errorMessage property 263
Event Viewer 92
EventArgs class 206, 219, 234
EventHandler delegate 206
events 18, 315?316
exceptions 312
executables (.exe) 26, 28
expressions 294
 
F
fields 18
FileNotFoundException 314
Fill method 82
finalization 23?24
Finalize method 21, 23
finally keyword 313?314
float type 17, 292
Font property 220, 222?223
for statement 299
foreach statement 301
Forms Designer 236
forms, Web. See Web Forms
forms, Windows. See Windows Forms
FORTH 38
Framework class library 5
 
G
gacutil.exe utility 32, 36
GameResult struct 145, 200
garbage collection 3, 6, 19, 23, 290
GC.SuppressFinalize 25
get accessor 304
GetHashCode method 21?23, 60
GetLifetimeService method 132
GetObject method 121, 123, 142, 148
GetType method 21
GetXml method 83?84, 102
GetXmlSchema method 83?84, 102
GIF image 26, 74, 227?228
global assembly cache 32?33
Global.Asax file 272, 276
goto statement 301
Graphical Device Interface. See GDI
GroupBox, Windows Forms control 220, 222
GUI 10?11, 205
 
H
Hand class. See Poker.Hand class
hand-held PCs 13
heap. See managed heap
HtmlAnchor, ASP.NET control 253
HtmlTable, ASP.NET control 253, 256
HtmlTableCell, ASP.NET control 258
HTTP 164?165, 250
     and TCP 127
     channel 117, 135, 144, 146, 148
     handler 268
     module 266?268
     request 246
HTTP GET request 168?169
HttpApplication class 267
HttpGet protocol 171
HttpPost protocol 171
 
I
IBM 164, 170, 195
IComparable interface 317
identifiers 291
IDL 4
IEnumerable interface 317
IEPok 73, 77
     coding the application 74
if statement 298
IIS 140, 142?143, 165
IL 2, 16?17
     boxing in 38?39
     coding programs in 39
     inspecting generated 37
     programming in 37
     stack-based nature of 38
     translating from AL to 45
     unboxing in 38?39
ilasm.exe assembler 39
ildasm.exe disassembler 28, 37?38
ILease.Register 133
ILGenerator class 47, 49
Import Namespace directive 245
Informix 11?12
inheritance 20, 305?307
INI file 34
Init event 247
InitializeLifetimeService method 133
InitialLeaseTime property 133
installutil.exe utility 153, 155
int type 18, 292
Interface Definition Language. See IDL
interfaces 290, 305, 316?317
internal keyword 60, 312
Internet Explorer 56, 73?74, 103
     poker game 77
Internet Information Server. See IIS
Internet Services Manager 73, 275
InvalidCastException 20
is operator 297
ISAPI 265
ISerializable interface 118
ISO 3166 Geographic Taxonomy 196
ISponsor interface 133?134
IsPostBack property 256
IsValid property 264
 
J
Jet 78
JIT compiler 44
JScript .NET 2
Just-In-Time. See JIT
 
L
Label, ASP.NET control 252
Label, Windows Forms control 221
late binding 43
leasing 130?131
libraries 28
ListBox, ASP.NET control 252
LiteralControl, ASP.NET control 258
Load event 247
LocalBuilder class 49
localOnly attribute 271
Location property 213, 220, 222?223
logging errors 91
logical operators 296
long type 18, 292
LParam 240
 
M
Machine class. See Poker.Machine class
Main method 4, 291
MainMenu class 220
makefile 69, 115
managed applications 3
managed heap 18?19, 39
manifest 26?28
MarshalByRefObject class 121, 132?133, 138, 208?209
marshaling 118
     by reference 118
     by value 118
MaxLength property 223
MDI 214
member access 304
members 20
MemberwiseClone 21
Menu class 218?220
MenuItem class 219?220
message queues. See MSMQ
MessageBeep function 233
MessageBox class 219
metadata 2, 4, 10, 26
method signature 310
methods 18, 20, 310, 316
MFC 203
Microsoft Data Engine. See MSDE
Microsoft Developer Network 5
Microsoft Foundation Classes. See MFC
Microsoft Intermediate Language. See IL
Microsoft Message Queuing. See MSMQ
Microsoft.Uddi 198
Mobile Internet Toolkit 13, 56, 76, 241
MobPok 77, 286?288
mode attribute 274
ModuleBuilder class 47
modules 26?27
MouseDown event 207
MouseEventArgs class 206?207
MouseEventHandler delegate 206
mscorlib.dll 9, 38, 40
MSDE 197
MsgLog class. See Poker.MsgLog class
MSMQ 56, 155, 157
multi-dimensional arrays 294
Multiple Document Interface. See MDI
 
N
NAICS codes 196
namespaces 7, 9, 290
native code 44
native images 41
.NET SDK 5, 103, 175
new operator 18, 20, 297
NewRow method 87
ngen.exe utility 41
NT service. See Windows services
null keyword 19
 
O
objects 18
ODBC 78
OLE DB 79
OleDbCommand class 79
OleDbConnection class 79
OleDbDataAdapter class 79
OleDbDataReader class 79
OnClick attribute 251
OnClosing method 234
OnContinue method 150
OnInit method 246
OnLoad method 246, 260
OnPause method 150
OnPreRender method 247
onSelectionChanged attribute 254
OnShutdown method 150
OnStart method 150
OnStop method 150
OnUnload method 247
OpCodes class 49
operands 294
operator associativity 297
operator precedence 297
operators 294
Oracle 11
osql utility 90
out keyword 310
overloading methods 311
override keyword 308
 
P
Page class 245
page lifecycle 246
Page.Request 245
Page.Response 245
pageOutput attribute 271
PageSize property 255
Panel class 252
params keyword 311
pass by reference 310
pass by value 310
payout control algorithm 58, 90, 110
PDA 13, 76?77
PE format 3, 45
Perl 2
PictureBox, Windows Forms control 226, 236
pokdb.sql database creation script 89?90
poker assembly 60, 73?74, 112, 199, 241
     building 113
     registering as a COM object 70
poker DLL. See poker assembly
Poker.Bank class 89?101, 106, 113
     creating 92
     testing 99
Poker.Bank class 101
Poker.Bet class 112?113
Poker.Card class 58, 77, 113
     coding 59
     designing 58
Poker.Hand class 61, 63, 77, 113, 156
     coding 61
     designing 61
Poker.Machine class 77, 93, 109, 113
Poker.MsgLog class 76, 91, 99, 113
Poker.SimpleMachine class 68, 71?73, 113, 159, 285
portable executable format. See PE format
pre-JITting 41
preprocessor directives 317
PreRender event 247
private assemblies 16, 29, 35
private keyword 312
private queues message 156
process 118
ProcessStartInfo class 108
profiling 3
profit 58
properties 18, 316
protected keyword 307, 312
proxy 119
public key encryption 30
public keyword 304, 312
public queues message 155
pubs database 81
Python 2
 
Q
QuePok 77, 155, 159?160
 
R
RadioButton, ASP.NET control 252
RadioButtonList, ASP.NET control 252
random number generation 60
RangeValidator, ASP.NET control 261, 263
RDO 78
ReadXml method 85
ReadXmlSchema method 85
ref keyword 310
reference types 15, 19?20
ReferenceEquals method 22
reflection 16, 41
regasm.exe utility 70, 72
regsvcs.exe utility 72
regular expressions 43
RegularExpressionValidator, ASP.NET control 261, 263
RejectChanges method 86
relational operators 295
remote events 136
remoting 56, 76, 117?119
remoting configuration files 124
RemotingConfiguration.Configure method 126
RemotingConfiguration.RegisterWellKnownServiceType method 121
RemotingException 132
RemPok 77, 144, 146, 148
Renewal method 133?134
RenewOnCallTime property 132?133
requestLimit attribute 272
RequiredFieldValidator, ASP.NET control 261, 263
requiredRuntime configuration tag 34
Resize event 207
return statement 301
revision number 30
Rows collection 80
RowState property 86?87
RunInstallerAttribute 151, 318
 
S
sbyte type 292
ScrollableControl class 213
sealed classes 309?310
Serializable attribute 118
server controls 248
server-activated remote objects 123
ServiceBase.Run 151
ServiceProcessInstaller class 151
session state 166, 272, 274
Session.Abandon 274
set accessor 304
shared assemblies 16, 29, 35
     installing 32
     versioning 29
short type 292
ShowPanels property 226
SIC codes 195
signature 310
signing assemblies 30
Simple Object Access Protocol. See SOAP
SimpleMachine class. See Poker.SimpleMachine class
SimPok 68?69, 77
Single type 17
SingleCall 123?124, 127, 181
Singleton 110, 121?127, 143?144, 148
Site property 209
Size property 213, 220, 222?223
sizeof operator 297
skeleton program, IL 39
SMTP 179
SmtpMail.Send 180
sn.exe utility 30
SOAP 135, 165, 171, 173
Solution Explorer 236
SQL 93
     COMMIT TRANSACTION statement 86
     DELETE statement 85, 87
     INSERT statement 85, 87
     SELECT statement 82
     UPDATE statement 85, 87
SQL Server 79, 89, 100?101
     pubs database 81
SqlCommand class 79
SqlCommand.ExecuteNonQuery 88
SqlConnection class 79, 82, 88
sqlConnectionString attribute 274
SqlDataAdapter class 79, 82
SqlDataReader class 79
stack 18, 44
Start method 320
stateConnectionString attribute 274
stateful client 184
stateful Web service 181
statusBarPanel 225?226
StatusBarPanelAutoSize.Spring 226
StatusBarPanelBorderStyle.Sunken 226
string type 18
strong names utility 30
structs 19, 290, 302, 305
SvcPok 77, 149, 151, 153?154
switch statement 238, 300
synchronous method invocation 178
System namespace 4, 40
     Console class 12
     EventHandler delegate 206, 315
     IDisposable interface 24?25
     MarshalByRefObject class 119
     Object class 18?19, 21?23
System.ComponentModel namespace
     CancelEventArgs class 234
System.Configuration.Install namespace
     Installer class 151
System.Data namespace 10
System.Data.OleDb namespace 79
System.Data.SqlClient namespace 10, 79
System.Data.SqlTypes namespace 10
System.Drawing namespace 222
System.Messaging namespace
     MessageQueue class 156
System.Net namespace
     WebException class 178
     WebRequest class 169
     WebResponse class 169
System.Reflection namespace 37, 41
System.Reflection.Emit namespace 16?17, 43?44, 46
System.Runtime.InteropServices namespace
     DllImportAttribute class 233
System.Runtime.Remoting.Channels.Http namespace 126
System.ServiceProcess namespace
     ServiceBase class 150
System.Text namespace 278
System.Timers namespace
     ElapsedEventHandler delegate 315
     Timer class 315?316
System.Web namespace 10
System.Web.Mail namespace
     MailMessage class 180
System.Web.Mobile class 286
System.Web.Services namespace
     WebService class 166, 175, 274
System.Web.Services.Discovery namespace
     DiscoveryDocument class 192
System.Web.Services.Protocols namespace
     SoapHttpClientProtocol class 175?176
System.Web.UI namespace 10
     Control class 246
     Page class 245, 274
System.Web.UI.HtmlControls namespace 252
System.Web.UI.MobileControls namespace 286
System.Web.UI.WebControls namespace 252
System.Windows.Forms namespace 10, 220
     Form class 205
     Message structure 240
     Timer class 209
     ToolTip class 209
System.Xml.Serialization namespace 102
System.Xml.XPath namespace
     XPathDocument class 105
 
T
Table, ASP.NET control 252
TableCell, ASP.NET control 252
TableRow, ASP.NET control 252
TabStop property 223
TagName attribute 259
TagPrefix attribute 259
TCP 117, 121, 144, 146
     and HTTP 127
     channel 148
telnet 76
Text property 220, 222
TextAlign property 222?223
TextBox, ASP.NET control 252
TextBox, Windows Forms control 223
TextChanged event 223
TextMode property 252
TextWriter class 103, 105
this keyword 303
threading 319
ThreadStart delegate 320
throw statement 302
timeout attribute 274
Timer component 211
TimeSpan structure 133
ToolTip component 211
ToString method 22?23, 60
Trace.Warn 269
Trace.Write 269
traceMode attribute 272
tracing ASP.NET applications 269
Transform method 105
try statement 313
Type.GetType 43
TypeBuilder class 47
typeof operator 297
types 15?16
 
U
UDDI 164?165, 170, 191, 194, 198
     API 198
     registry 195?196
     SDK 196?197
uint type 292
ulong type 292
unboxing 20, 38?39, 311
unchecked operator 297
Unicode 292
Uniform Resource Identifier. See URI
UNIX 12, 76
unmanaged applications 3
unsafe code 290
UNSPSC 196
Update method 85, 87
URI 119, 121, 124
URL 119, 148, 168, 173
URN 119
ushort type 292
using keyword 4, 245, 291
 
V
ValidationSummary, ASP.NET control 261, 264
value types 15, 18?19, 292, 310
variable-length parameter list 311
variables 291?292
VBScript 11, 242?243
     and COM 71
     poker game 71
verbatim string 293
version number 29
viewstate 141, 250
virtual methods 308
Visual Basic 11?12, 203, 228, 242, 295
Visual Basic .NET 5, 11?12, 16?17
Visual C++ 2, 11, 203
Visual Studio .NET 175, 211, 234, 248, 275?276
void return type 304
 
W
web controls 252
Web Forms 35, 56, 141, 248, 286
Web Service Description Language. See WSDL
Web service discovery. See DISCO
Web services. See XML Web services
Web.config file 265?267, 276
WebMailService example 179
WebMethod attribute 184, 318
WebPok 77, 279
WebService attribute 166, 200, 318
while statement 299
Win32 API 3
     MessageBeep function 233
Win32 applications 118
Windows event log 76
Windows Forms 10, 77, 203?204, 208
Windows SDK 238
Windows services 56, 117, 149
Windows Services Manager 100
WinPok 215?234
WndProc method 205, 238?239
WriteXml method 84
WriteXmlSchema method 84
WSDL 2, 165, 169?170, 173, 191, 194
     bindings 172
     contract 192
     messages 171
     portTypes 172
     services 173
     types 170
wsdl.exe utility 175, 185, 200
WSPok 77, 199?200
 
X
XCOPY command 29
XML 85, 101, 104
     and DataSets 83
     schema 84
     serialization 101?102, 106
XML Web services 56, 76, 164?165, 175
XmlElementAttribute 103
XmlRep program 106
XmlRootAttribute 103
XmlSerializer class 103
XPathDocument class 105
XSL 85
XSLT 102?106, 108