Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Visual CSharp 2005 Recipes (2006) [eng]

.pdf
Скачиваний:
48
Добавлен:
16.08.2013
Размер:
4.04 Mб
Скачать

558 I N D E X

Stream class, 56, 72, 341, 426, 430 StreamReader class, 344 StreamWriter class, 156 TextReader class, 72

TextWriter class, 72 System.IO.IsolatedStorage namespace

IsolatedStorageFile class, 174 IsolatedStorageFileStream class, 174

System.IO.Ports namespace SerialPort class, 179

System.Media namespace

classes for playing sound files, 275 SoundPlayer class, 275–276 SystemSound class, 275 SystemSounds class, 275

System.Net namespace CredentialCache class, 350

System.NET namespace Dns class, 355 HttpListener class, 346

HttpListenerContext class, 346 System.Net namespace

HttpListenerException class, 346 System.NET namespace

HttpListenerPrefixCollection collection, 346 System.Net namespace

HttpListenerRequest class, 346 HttpListenerResponse class, 346

System.NET namespace ICredentialsByHost interface, 352

System.Net namespace IPAddress class, 357

NetworkCredential class, 350, 376 SocketPermission class, 400 WebClient class, 341, 344 WebException class, 344 WebPermission class, 400

System.NET namespace WebRequest class, 72, 344, 349, 376 WebResponse class, 72, 344, 349

System.Net.Mail namespace Attachment class, 353 AttachmentCollection class, 353 MailAddress class, 353 MailAddressCollection class, 353 MailMessage class, 352 SmtpClient class, 352

System.Net.NetworkInformation namespace IPGlobalProperties class, 337

IPStatus enumeration, 357 NetworkChange class, 339 NetworkInterface class, 336

NetworkInterfaceComponent enumeration, 337 NetworkInterfaceType enumeration, 337 OperationalStatus enumeration, 337 PhysicalAddress class, 337

Ping class, 357 PingCompletedEventHandler delegate, 357 PingOptions class, 357

PingReply class, 357

System.Net.Sockets namespace NetworkStream class, 359, 364 TcpClient class, 359 TcpListener class, 359, 363 UdpClient class, 371

System.Reflection namespace Assembly class, 72, 409 AssemblyDelaySignAttribute class, 21 AssemblyName class, 46, 72 AssemblyVersionAttribute class, 18 ConstructorInfo class, 87 ICustomAttributeProvider interface,

93

System.Runtime.InteropServices namespace creating RCW, 450

DllImportAttribute class, 439 GuidAttribute class, 456 Marshal class, 432, 444 StructLayoutAttribute class, 444

System.Runtime.Remoting namespace ObjectHandle class, 70 RemotingConfiguration class, 381 WellKnownObjectMode enumeration,

385

System.Runtime.Remoting namespace.Lifetime ILease interface, 389

System.Runtime.Serialization namespace IFormatter interface, 58

ISerializable interface, 458, 488, 491 OptionalFieldAttribute class, 459 SerializationException class, 81 SerializationInfo class, 459 StreamingContext class, 459

System.Runtime.Serialization.Formatters.Binary namespace

BinaryFormatter class, 58, 464 System.Runtime.Serialization.Formatters.Soap

namespace SoapFormatter class, 58, 205

System.Security namespace, 404 AllowPartiallyTrustedCallersAttribute class,

395 PermissionSet class, 405

SecureString class, 136, 432 SecurityException class, 400, 404, 407, 414 SecurityManager class, 397, 406 SecurityPermission class, 398

System.Security.Cryptography namespace DataProtectionScope enumeration, 436 HashAlgorithm class, 164, 422, 425, 430 hashing algorithm implementations, 423 keyed hashing algorithm implementations,

430

KeyedHashAlgorithm class, 429–430 MemoryProtectionScope enumeration,

436 ProtectedData class, 435

ProtectedMemory class, 435 RandomNumberGenerator class, 421 RNGCryptoServiceProvider class, 421

System.Security.Cryptography.X509Certificates namespace

ClientCertificates collection, 376 X509Certificate2 class, 350, 376 X509Certificate2UI class, 350 X509CertificatesCollection class, 352 X509Store class, 350, 376

System.Security.Permissions namespace FileIOPermission class, 403

identity permission types, 408 PrincipalPermission class, 414 PrincipalPermissionAttribute class,

414

SecurityAction enumeration, 403 SecurityPermission class, 58, 397

System.Security.Policy namespace Evidence class, 66, 409 evidence types, 408 PolicyException class, 400, 415

System.Security.Principal namespace IIdentity interface, 411

IPrincipal interface, 346, 411, 418 PrincipalPolicy enumeration, 415 SecurityIdentifier class, 412 WindowsBuiltInRole enumeration, 412 WindowsIdentity class, 411, 418 WindowsPrincipal class, 411 WindowsSecurityContext class, 419

System.ServiceProcess namespace ServiceBase class, 511 ServiceProcessInstaller class, 516 SessionChangeDescription class, 513

System.Text namespace, 157 Encoding class, 33, 158, 353, 424 StringBuilder class, 31, 88, 428

System.Text.RegularExpressions namespace Regex class, 43, 45 RegexCompilationInfo class, 45 RegexOptions enumeration, 45

System.Threading namespace AutoResetEvent class, 120 EventResetMode enumeration, 121 EventWaitHandle class, 120 Interlocked class, 128 ManualResetEvent class, 120 Monitor class, 116

Mutex class, 124, 140 ParameterizedThreadStart delegate, 113 Semaphore class, 126

Thread class, 415 ThreadAbortException class, 132 ThreadStart class, 113 ThreadState enumeration, 113 ThreadStateException class, 113 Timeout class, 108

Timer class, 107, 109 TimerCallback delegate, 107, 109 WaitCallback delegate, 97 WaitHandle class, 111, 120, 326 WaitOrTimerCallback delegate, 111

I N D E X 559

System.Timers namespace Timer class, 107, 513

System.Windows.Forms namespace Application class, 4

AxHost control, 454 classes, 213 CommonDialog class, 172 Control class, 265

FolderBrowserDialog class, 172 Form class, 4, 387 HelpProvider component, 252 OpenFileDialog class, 172 Panel control, 268

PictureBox control, 268 PrintDialog class, 285 PrintPreviewControl class, 292 PrintPreviewDialog class, 292 SaveFileDialog class, 172 Timer class, 107

TreeNode class, 183 System.Xml namespace

XmlDocument class, 183, 322 XmlNode class, 464 XmlNodeList class, 191 XmlNodeType enumeration, 184 XmlReader class, 321

System.Xml.Serialization namespace attribute classes, 205 XmlSerializer class, 204

System.Xml.Xsl namespace XslCompiledTransform class, 209

SystemDirectory property Environment class, 500

SystemOperator value WindowsBuiltInRole enumeration, 413

SystemSound class example, 275–276 Play method, 275

System.Media namespace, 275 SystemSounds class

Asterisk property, 275 System.Media namespace, 275

Szpuszta, Mario and Rammer, Ingo

Advanced .NET Remoting, 2nd edition, 384

T

TableDirect value

CommandType enumeration, 312 TableLayoutPanel container

ColumnCount property, 238 GrowStyle property, 238 RowCount property, 238

Tag property

classes that provide, 217 Control class, 217

TCP

communicating with, 359–363 multithreaded TCP server for asynchronous

communications, 363–371

560 I N D E X

TCP client

threads, 95–96

template for, 362–363

creating a thread-safe collection instance,

TCP server

134–138

template for, 360–362

executing a method

TcpClient class

asynchronously, 99–107

System.Net.Sockets namespace, 359

at a specific time, 109–111

TcpListener class

by signaling a WaitHandle class, 111–113

AcceptTcpClient method, 360, 363–364

periodically, 107–109

BeginAcceptTcpClient method,

using new thread, 113–115

363–364

using ThreadPool class, 96–99

EndAcceptTcpClient method, 364

knowing when a thread finishes, 130–132

System.Net.Sockets namespace,

synchronizing access to shared data, 128–130

359, 363

synchronizing execution of multiple threads

templates

using a Monitor, 115–120

XSL stylesheets, 210

using a Mutex, 124–126

temporary files, 169–170

using a Semaphore, 126–128

text files, reading and writing,

using an event, 120–124

156–158

terminating execution of thread, 132–134

Text property

ThreadStart class

Form class, 244

System.Threading namespace, 113

Text value

ThreadStart delegate, 113

CommandType enumeration, 312

ThreadState class

TextBox class

Running method, 113

configuring context menu for, 239

ThreadState enumeration

finding all instances on a form, 219

System.Threading namespace, 113

restricting input, 229–231

ThreadStateException class

TextBox control

System.Threading namespace, 113

KeyPress event, 231

thumbnails

providing input error for with ErrorProvider

showing for image, 273–275

component, 250

TickCount property

TextChanged event

Environment class, 500

ComboBox control, 232

TimedOut value

TextReader class

IPStatus enumeration, 357

System.IO namespace, 72

Timeout class

TextWriter class

Infinite property, 108–109

System.IO namespace, 72

System.Threading namespace, 108

Thread class

Timeout property

Abort method, 83, 132

SmtpClient class, 352

creating and controlling threads, 113

WebRequest class, 344

creating new object, 113

Timer class, 110

CurrentPrincipal property, 415, 418

Change method, 108

CurrentUICulture property, 243

Dispose method, 108

IsAlive property, 131

periodic execution of methods, 108

Join method, 131

System.Threading namespace, 107, 109

ResetAbort method, 132

System.Timers namespace, 107, 513

Start method, 113, 132

System.Windows.Forms namespace, 107

System.Threading namespace, 415

TimerCallback delegate, 108

thread synchronization, 116

System.Threading namespace, 107, 109

thread-safety

times. See dates and times

testing for with IsSynchronized property,

TimeSpan structure, 110

134

add, subtract and compare dates and times,

ThreadAbortException class, 132

49–51

ExceptionState property, 132

operators supported by, 49

System.Threading namespace, 132

System namespace, 108, 389

ThreadPool class

Title property

GetAvailableThreads method, 99

Console class, 29

QueueUserWorkItem method, 97

Tlbexp.exe, 455

RegisterWaitForSingleObject method,

Tlbimp.exe, 277, 451

111

To property

SetMaxThreads method, 99

MailMessage class, 353

I N D E X 561

ToArray method

unary negation (-) operator

ArrayList class, 52

supported by TimeSpan and DateTime

MemoryStream class, 36

structures, 50

Queue collection, 52

unary plus (+) operator

Stack collection, 52

supported by TimeSpan and DateTime

ToBase64CharArray method

structures, 50

Convert class, 38

UnauthenticatedPrincipal value

ToBase64String method

PrincipalPolicy enumeration, 416

Convert class, 38

Undo method

ToBoolean method

WindowsSecurityContext class, 419

BitConverter class, 36

Unicode property

ToInt32 method

UnicodeEncoding class, 34

BitConverter class, 36

Unicode string

tools, 1

Base64 encoding and decoding using

TopIndex property

Convert class, 38

ListBox class, 228

UnicodeEncoding class

TopMost property

BigEndianUnicode property, 34

Form class, 442

GetEncoding method, 34

ToString method

Unicode property, 34

BitConverter class, 38, 427–428

Unload method

IFormattable interface, 484

AppDomain class, 83

Object class, 410

unmanaged code interoperability, 439

PhysicalAddress class, 337

calling a function in an unmanaged DLL,

SecureString class, 432

439–442

StringBuilder class, 31

calling an unmanaged function that uses

TotalFreeSpace property

a callback, 447–448

DriveInfo class, 171

calling an unmanaged function that uses

Trace class

a structure, 444–447

System.Diagnostics namespace, 15

exposing .NET component through COM,

Transaction property

455–456

command objects, 312

releasing COM components quickly, 452–453

Transform method

retrieving handles for controls, Windows or

XslCompiledTransform class, 209

files, 442–444

TransparentKey property

retrieving unmanaged error information,

Form class, 264

448–450

TreeNode class, 154

using ActiveX controls in .NET clients,

System.Windows.Forms namespace, 183

454–455

Tag property, 217

using COM components in .NET clients,

TreeView control

450–452

BeforeExpand event, 154

using optional parameters, 453–454

Fill method, 154

unmanaged errors

showing a JIT directory tree, 154–156

retrieving information, 448–450

showing XML document structure, 183–187

unmanaged functions

Type class

calling function that uses a callback,

EmptyTypes field, 88

447–448

GetConstructor method, 87–88

using structure parameters, 444–447

Missing field, 453

Unprotect method

System namespace, 52, 319

ProtectedData class, 435

type information

ProtectedMemory class, 435

retrieving, 83–85

SectionInformation class, 309

Type Library Exporter. See Tlbexp.exe

Unregister method

Type Library Importer utility. See Tlbimp.exe

RegisteredWaitHandle class, 111

typeof operator

Up value

determining whether control is TextBox, 219

OperationalStatus enumeration, 337

U

uploading methods

WebClient class, 343

UDP

Url class

communicating with, 371–374

System.Security.Policy namespace, 408

UdpClient class

Url property

System.Net.Sockets namespace, 371

WebBrowser control, 254

562I N D E X

UrlIdentityPermission class System.Security.Permissions namespace, 408

UseDefaultCredentials property NetworkCredential class, 376 SmtpClient class, 352

user input

reading from console, 61–64 User property

HttpListenerContext class, 346 User value

WindowsBuiltInRole enumeration, 413 User32.dll, 440

UserDomainName property Environment class, 500

UserInteractive property Environment class, 500

UserName property Environment class, 500 ProcessStartInfo class, 136

users

impersonating a Windows user, 418–421 restricting which user can execute code,

414–418 Users field

RegistryKey class, 509 using statement, 137

constructing Monitor class in, 141 Dispose pattern, 480

UTF7 property UTF7Encoding class, 34

UTF7Encoding class GetEncoding method, 34 UTF7 property, 34

UTF8 property UTF8Encoding class, 34

UTF8Encoding class GetEncoding method, 34 UTF8 property, 34

V

Validate method XmlDocument class, 204

validating an input control, 248–250 validating input using regular expressions,

41–44 validation

XML documents against schema, 199–204

ValidationEventHandler event XmlReaderSettings class, 200–201

ValidOn property AttributeUsageAttribute class, 91

value of command, 210 Value property

parameter objects, 316 XmlNode class, 184 XmlReader class, 197

value types

converting from byte arrays, 36 converting to byte arrays, 36–38

verifying

assembly’s strong name, 19

strong name assembly has not been modified, 19–20

Version class

System namespace, 500 Version property

Environment class, 500 OperatingSystem class, 501

VersionString property OperatingSystem class, 501

Visual Studio

Application Settings, 226–227 generating RCWs, 450

-Vr switch

Strong Name tool, 20 -Vu switch

Strong Name tool, 21

W

W3C Document Object Model (DOM). See DOM

(W3C Document Object Model) Wait method

Monitor class, 117 WaitAll method

WaitHandle class, 121 WaitAny method

WaitHandle class, 121 WaitCallback delegate

System.Threading namespace, 97 WaitForExit method

Process class, 137, 139 WaitHandle class, 111

methods for synchronizing thread execution, 121

Mutex class derives from, 124 Semaphore class derives from, 126 System.Threading namespace, 111,

120, 326

waiting

determining if asynchronous methods are finished, 325

WaitOne method WaitHandle class, 121

WaitOrTimerCallback delegate, 111 System.Threading namespace, 111

Warning value

EventLogEntryType enumeration, 504

WAV files

playing, 276–277 web method

calling asynchronously, 378–381 web pages

displaying, 254–256 WebBrowser class

DocumentText property, 211 WebBrowser control, 210

displaying a web page, 254 members, 254–255

I N D E X 563

WebClient class

creating an immovable form, 244

CancelAsync method, 342

displaying a web page, 254–256

Certificates property, 350

drag-and-drop operations, 251–252

Credentials property, 350

finding all MDI child forms, 223–225

data download methods, 341

forcing a ListBox to scroll to most recently

OpenRead method, 344

added item, 228–229

System.Net namespace, 341, 344

laying out controls automatically, 238–239

uploading methods, 343

linking data to a control, 216–218

WebException class

making a borderless form movable, 244–247

System.Net namespace, 344

multilingual forms, 241–244

WebPermission class, 401

process all controls on form, 218–220

System.Net namespace, 400

restricting TextBox class input, 229–231

WebPermissionAttribute class, 401

saving configuration settings for forms,

WebRequest class

225–228

Certificates property, 349

sorting a ListView by column, 235–238

ClientCertificates property, 376

tracking visible forms in application, 220–223

Create method, 344

using part of a main menu for a context

Credentials property, 349–350, 376

menu, 239–240

GetResponse method, 344

validating an input control, 248–250

System.NET namespace, 72, 344, 349, 376

Windows groups, determining membership of,

Timeout property, 344

411–414

WebResponse class

Windows integration, 499

GetResponseStream method, 344

accessing runtime environment information,

System.NET namespace, 72, 344, 349

499–503

WellKnownObjectMode enumeration

creating a shortcut on Desktop or Start

System.Runtime.Remoting namespace, 385

menu, 518–520

values, 385

creating a Windows service, 511–516

wildcard expression

creating a Windows service installer, 516–518

finding files that match, 163–164

reading and writing to the Windows registry,

Win32 API

505–508

core libraries, 440

retrieving the value of environment variable,

LogonUser function, 419

503–504

Win32 API functions

searching the Windows registry, 508–511

using for writing and reading INI files, 440

writing an event to the Windows event log,

Win32 CryptoAPI

504–505

CryptGenRandom function, 421

Windows registry

Win32Exception class

reading and writing to, 505–508

System.ComponentModel namespace, 136

searching, 508–511

Win32_Printer class

Windows service, creating, 511–516

methods, 298

Windows Service Control Manager. See SCM

Pause method, 295

Windows service installer

Resume method, 295

creating, 516–518

Win32_PrintJob class

WindowsBuiltInRole enumeration

Pause method, 295

System.Security.Principal namespace, 412

querying, 295

values, 413

Resume method, 295

WindowsIdentity class

WinAPI functions, 442

GetCurrent method, 411–412

WindowHeight property

Impersonate method, 418–419

Console class, 29

implements IIdentity interface, 412

Windows application

System.Security.Principal namespace, 411,

creating from command line, 4–5

418

example, 5–7

WindowsPrincipal class

Windows event log

implements IPrincipal interface, 412

writing an event to, 504–505

IsInRole method, 411–412

Windows forms, 213

System.Security.Principal namespace, 411

adding a control programmatically, 214–216

WindowsPrincipal value

animated system tray icon, 247–248

PrincipalPolicy enumeration, 416

autocomplete Combo Box, 232–234

WindowsSecurityContext class

classes, 213

System.Security.Principal namespace, 419

context-sensitive help, 252–253

Undo method, 419

564I N D E X

WindowStyle property ProcessStartInfo class, 136

WindowWidth property Console class, 29

WM_CLOSE message

posted by Kill method, Process class, 138 WorkingDirectory property

ProcessStartInfo class, 136 WrapContents property

FlowLayoutPanel container, 238 Write method

BinaryWriter class, 158 StreamWriter class, 156 WriteAttributeString method

XmlWriter class, 197 WriteElementString method

XmlWriter class, 197 WriteEndDocument method

XmlWriter class, 197 WriteEndElement method XmlWriter class, 197

WriteEntry method EventLog class, 504

WriteLine method StreamWriter class, 156

WritePrivateProfileString function, 440 WriteStartDocument method

XmlWriter class, 197 WriteStartElement method XmlWriter class, 197

Writing Secure Code, 2nd edition

LeBlanc, David and Howard, Michael, 394 writing XML. See XML processing

WshShell class CreateShortcut method, 518

SpecialFolders property, 518–519

X

X509Certificate2 class System.Security.Cryptography.X509

Certificates namespace, 350, 376 X509Certificate2UI class

SelectFromCollection method, 350 System.Security.Cryptography.X509

Certificates namespace, 350 X509CertificatesCollection class

System.Security.Cryptography.X509 Certificates namespace, 352

X509Store class

Certificates.Find method, 350, 376 Certificates.Select method, 376 System.Security.Cryptography.X509

Certificates namespace, 350, 376 XML and .NET Framework integration, 183 XML document

obtaining from SQL Server query, 321–324 XML processing, 183

appending notes in XML documents, 189–191 creating schemas for .NET classes, 207–208 finding elements with Xpath search, 194–197

finding specific elements by name, 191–192 generating a class from schemas, 208–209 inserting nodes into XML documents,

187–189

performing an XSL Transform, 209–211 reading and writing without loading

document into memory, 197–199 retrieving nodes from specific namespace,

192–194

serialization with custom objects, 204–207 showing document structure in TreeView,

183–187

validating documents against a schema, 199–204

XML Schema Definition (XSD). See XSD XML Schema Definition Tool. See xsd.exe XML schemas

data types, 200 introduction, 200

XML web service

avoiding hard-coding URL, 374–376 setting authentication credentials for,

376–378 XmlAttribute class

basic properties derived from XmlNode, 184 System.Xml.Serialization namespace, 205

XmlDocument class, 184 ChildNodes property, 184 CloneNode method, 189 create methods, 187

creating and inserting nodes, 188 DocumentElement property, 184 GetElementsByTagName method, 191 Load method, 184

LoadXML method, 184

more flexibility than XmlTextReader class, 198

Save method, 188 Schemas property, 204 SelectNodes method, 194

SelectSingleNode method, 194 System.Xml namespace, 183, 322 Validate method, 204

XmlElement class

basic properties derived from XmlNode, 184

GetElementsByTagName method, 192 System.Xml.Serialization namespace, 205

XmlEnum class

System.Xml.Serialization namespace, 205 XmlException class, 201

XmlIgnore class

System.Xml.Serialization namespace, 205 XmlNode class, 191

AppendChild method, 187 basic properties, 184

casting to XmlElement class, 192 CloneNode method, 191 description, 184

InsertAfter method, 187

InsertBefore method, 187 SelectNodes method, 194 SelectSingleNode method, 194 System.Xml namespace, 464

XmlNodeList class System.Xml namespace, 191

XmlNodeList collection

ChildNodes property, XmlNode class, 184 XmlNodeType enumeration

System.Xml namespace, 184 XmlReader class

closing, 322

Create method, 197, 200–201 enforcing schema rules, 201 example, 198–199 GetAttribute method, 198 HasAttributes property, 198 properties, 197

Read method, 197, 200 ReadElementString method, 199 reading XML, 197 ReadToDescendant method, 199 ReadToFollowing method, 199 ReadToNextSibling method, 199 System.Xml namespace, 321

XmlReaderSettings class, 200 ValidationEventHandler event, 200–201

XmlRoot class

System.Xml.Serialization namespace, 205 XmlSerializer class, 204, 207–208

requirements for using, 205 System.Xml.Serialization namespace, 204 translating XML into objects, 206

XmlTextReader class

less flexibility than XmlDocument class, 198

I N D E X 565

XmlTextWriter class Write methods, 197

XmlWriter class, 211 Create method, 197 example, 198–199 Write methods, 197

XPath expression syntax table, 195 XPath search

finding elements, 194–197

XSD (XML Schema Definition), 200 xsd.exe (XML Schema Definition Tool), 207 XSL stylesheets

templates, 210

apply template command, 210 value of command, 210

XSL transforms. See XSLT XslCompiledTransform class, 210–211

Load method, 209 System.Xml.Xsl namespace, 209 Transform method, 209

XSLT (XSL transforms) performing, 209–211

XSLT stylesheet example, 210 XslTransform class, 210

Y

yield break statement, 472 yield return statement, 472, 475

Z

Zone class

System.Security.Policy namespace, 408 ZoneIdentityPermission class

System.Security.Permissions namespace, 408

Соседние файлы в предмете Программирование на C++