machine configuration files, 509, 1434–1435
machine policy level, 601
Main( ) method, 62–64
multiple Main( ) methods, 62–63
overview of, 62, 988
passing arguments to, 63–64
threading and, 548
Windows Services, 722
main function, Windows Services, 712, 723–724
making projects, Visual Studio 2005 terminology, 423
managed code
advantages, 4
mixing with native, 1651–1652
managed heaps
garbage collection and, 322, 763
reference types stored in, 9, 39
managed types, pointers and, 334
.manifest files, Windows Vista, 1654
manifests
assembly metadata and, 18
module, 481
parts of, 478
manual deployment, Enterprise Services, 1462
markup extensions
mixing, 1197
overview of, 1138
TemplateBinding, 1171
marshal-by-reference classes, 1421–1425
MarshalByRefObject class
hosting .NET Remoting servers in ASP.NET, 1439–1440
implementing remote objects, 1407, 1445–1446
managing file system and, 790
marshal-by-reference classes derived from, 1421
marshal-by-value classes, 1421–1425
marshalling mechanism, COM/.NET conversion, 755
MaskedTextBox control, 1010
.master files, 1268–1269
master pages, ASP.NET
accessing content from Web pages, 1270
creating, 1268–1270
in PCSDemoSite, 1271–1272
master-details binding, 1201–1202
matches, regular expressions, 239–241
Matches( ) method, string searches, 235–236
mc.exe (Messages Compiler), 539
MDI (Multiple Document Interface)
overview of, 1022–1023
for Windows Forms applications, 1016
MeasureString( ) method
adding user input in GDI+, 1126
calculating item and document sizes, 1118
laying out text in windows using, 1106
member access operator, 156
member variables. See fields members
BackgroundWorker class, 582
BitArray class, 312
BitVector32 class, 314
data members, 85
DataMember property, 1525
function members, 85–86
IEnlistmentNotification class, 698
Interlocked class, 571
linked list, 291
overview of, 84–85
pointers to, 338–340
stack, 288
static, 256, 1633–1634
TransactionScope class, 691–694
unsafe keyword and, 331–332
WaitHandle class, 574
membership conditions, code groups, 591
memory
COM reference counts and, 749
requirements for .NET-based applications, 443
memory management, 319–330.
See also pointers
destructors, 325–326
freeing unmanaged resources, 325
garbage collection and, 13–14, 324–325
IDisposable interface and, 327–330
overview of, 319–320
reference types and, 322–324
stackalloc for allocating stack memory, 345–348
summary, 348
threads and, 549
value types and, 320–321
menu items, 1016
Menu Web server control, ASP.NET, 1273
MenuStrip, 1013, 1015
Merge( ) method, creating user-defined aggregates, 966–967
Merge Module Project, Visual Studio 2005 installer projects, 447
message contracts, 1522, 1525
message formatters, 1495–1496
message queues, 1483–1510
acknowledged messages, 1507–1508
administrative tools, 1488–1490
architecture, 1487–1488
attributes, 1487–1488
configuring, 1464
creating, 1488–1491
Enterprise Services and, 1457
features, 1485–1486
finding, 1491–1492
installing, 1510
message formatter and, 1495–1496
opening known, 1492–1493
overview of, 1483–1484
products, 1486
programming, 1490
properties, 1489–1490
receiving messages, 1496–1498
sending messages, 1493–1496
transactions and, 676
when to use, 1484–1485
message queues, Course Order sample application, 1499–1507
class library, 1499–1501
installation, 1510
message receiver, 1503–1507
message sender, 1501–1502
receiving results, 1507–1508
sending priority and recoverable messages, 1502–1503
transactional queues, 1508–1509
message resource files, event logging, 537
message sinks
context, 1405
envoy sinks, 1421
formatters for, 1415
.NET Remoting architecture, 1402–1404, 1421
object sinks, 1421
overview of, 1420–1421
server context sinks, 1421
message-based applications, Windows, 211
MessageQueueInstaller, 1510
messages
defined, 1402–1403
message queuing architecture, 1487–1488
.NET Remoting architecture, 1420
Messages Compiler (mc.exe), 539
meta-characters, regular expressions, 236, 238
metadata
assemblies and, 476
COM and, 748–749
custom attributes and, 349
Metadata Exchange (MEX)
client, 1520–1522
service host, 1518–1519
Metadata property, 1562
method binding, COM, 751
methods, 86–92
Activity class, 1543
anonymous, 201–202
Application class, 989
array, 261–262
attached properties, 1562–1563
collection, 270–271
comparing C#, Visual Basic and C++/CLI, 1627
ContextUtil class, 1468
declaring, 86–87
file system, 792–793
FileStream class, 812
format of, 33
as function members, 85
generic, 257–259
generic delegates and, 260–261
hiding, 115–116
IMessageSink, 1421
interface, 1626
invoking, 87–89
invoking asynchronously, 549, 552
invoking constructors as, 1630–1631
LINQ extension, 1687–1688
MessageQueue class, 1491–1492
output parameters, 91
overloading, 91–92
overriding, 1123
overview of, 86
parameters and return types, 1628
passing parameters by reference, 90
passing parameters by value, 89–90
queue, 284
RegistryKey class, 834
remote, 1421–1425
sealed, 117–118
ServiceController class, 741
ServicedComponent class, 1458
sorted list, 298–299
Storyboard class, 1188
StringBuilder class, 227
System.Drawing.Graphics, 1100–1102
System.Object, 106–108
System.String, 222–223
System.Type, 360
UDTs (user-defined types), 966–967
unsafe keyword and, 331–332
usage conventions, 80–81
virtual methods, 114–115
Web services, 1378–1380
WebClient class, 1342
WebClient download, 1340–1342
WebRequest and WebResponse, 1342–1345
XPathNavigator, 921–922
XPathNodeIterator, 923
MEX (Metadata Exchange)
client, 1520–1522
service host, 1518–1519
mex option, creating WCF service façade, 1479
MFC (Microsoft Foundation Classes), 211, 1075
Microsoft Application Center Server, 1455
Microsoft Foundation Classes (MFC), 211, 1075
Microsoft Intermediate Language (MSIL). See IL (intermediate language)
Microsoft Management Console. See MMC (Microsoft Management Console)
Microsoft SQL Server Data Engine (MSDE), 1059
Microsoft Transaction Server (MTS), 1454
Microsoft.SqlServer.Server namespace, 957–958
Microsoft.Win32 namespace
.NET registry classes in, 831–834
for registry operations, 789, 829
MMC (Microsoft Management Console)
Computer Management snap-in, 1488–1490
managing code access security, 592
Services snap-in, 732
mobile code, security issues, 589
modifiers, 124–126
list of, 125
methods, 33
overview of, 124
visibility modifiers, 124–125
modules
creating modules and
assemblies, 480–482
purpose of, 481
Visual Studio 2005 not supporting, 482
Monitor class, 572–573
monitoring variable values, 428
mouse
adding user input, 1123–1125
user interaction and, 996–997
MouseUp( ) event handler, 1070
move methods, XPathNavigator, 921–922
moving files, 799–804
MRBService.cs file, 1385
MSDE (Microsoft SQL Server Data Engine), 1059
MSDN documentation, 397
MSIL (Microsoft Intermediate Language). See IL (intermediate language)
MSMQ HTTP Support, message queues, 1486
MSXML in .NET, 904–906
MTA (multithreaded apartment), 581
MTA (multithreaded apartments), 753
MTS (Microsoft Transaction Server), 1454
MUI (multilanguage user), 640
multicast delegates, 208–211
MultiDictionary<TKey, TValue> class, 306–311
multidimensional arrays
jagged arrays, 138–139
overview of, 137–138
multilanguage user (MUI), 640
multimaster replication
Active Directory using, 1584
overview of, 1588
multiple casts, 189–192
multiple catch blocks, 376–380
Multiple Document Interface (MDI)
overview of, 1022–1023
for Windows Forms applications, 1016
multiple inheritance, 112
multiple keys, dictionaries, 306–311
multiplication/division operators, 162
multithreaded apartment (MTA), 581, 753
Mutex (mutual exclusion) class, 574–576