Exam 70-536:
Microsoft .NET Framework - Application Development Foundation
I.
Developing applications that use system types and collections (15 percent)
A.
Manage data in a .NET Framework application by using .NET Framework system types.
1.
Value types
2.
Nullable type
3.
Reference types
4.
Attributes
5.
Generic types
6.
Exception classes
7.
Boxing and UnBoxing
8.
TypeForwardedToAttribute class
B.
Manage a group of associated data in a .NET Framework application by using collections.
1.
ArrayList class
2.
Collection interfaces
3.
Iterators
4.
Hashtable class
5.
CollectionBase class and ReadOnlyCollectionBase class
6.
DictionaryBase class and DictionaryEntry class
7.
Comparer class
8.
Queue class
9.
SortedList class
10.
BitArray class
11.
Stack class
C.
Improve type safety and application performance in a .NET Framework application by using generic collections.
1.
Collection.Generic interfaces
2.
Generic Dictionary
3.
Generic Comparer class and Generic EqualityComparer class
4.
Generic KeyValuePair structure
5.
Generic List class, Generic List.Enumerator structure, and Generic SortedList class
6.
Generic Queue class and Generic Queue.Enumerator structure
7.
Generic SortedDictionary class
8.
Generic LinkedList
9.
Generic Stack class and Generic Stack.Enumerator structure
D.
Manage data in a .NET Framework application by using specialized collections.
1.
Specialized String classes
2.
Specialized Dictionary
3.
Named collections
4.
CollectionsUtil
5.
BitVector32 structure and BitVector32.Section structure
E.
Implement .NET Framework interfaces to cause components to comply with standard contracts.
1.
IComparable interface
2.
IDisposable interface
3.
IConvertible interface
4.
ICloneable interface
5.
IEquatable interface
6.
IFormattable interface
F.
Control interactions between .NET Framework application components by using events and delegates.
1.
Delegate class
2.
EventArgs class
3.
EventHandler delegates
II.
Implementing service processes, threading, and application domains in a .NET Framework application (11 percent)
A.
Implement, install, and control a service.
1.
Inherit from ServiceBase class
2.
ServiceController class and ServiceControllerPermission class
3.
ServiceInstaller and ServiceProcessInstaller class
4.
SessionChangeDescription structure and SessionChangeReason enumeration
B.
Develop multithreaded .NET applications.
1.
Thread class
2.
ThreadPool class
3.
ThreadStart delegate, ParameterizedThreadStart delegate, and SynchronizationContext class
4.
Timeout class, Timer class, TimerCallback delegate, WaitCallback delegate, WaitHandle class, and WaitOrTimerCallback delegate
5.
ThreadExceptionEventArgs class and ThreadExceptionEventHanlder class
6.
ThreadState enumeration and ThreadPriority enumeration
7.
ReaderWriterLock class
8.
AutoResetEvent class and ManualResetEvent class
9.
IAsyncResult interface and ICancelableAsyncResult interface (refer System Namespace)
10.
EventWaitHandle class, RegisterWaitHandle class, SendOrPostCallback delegate and IOCompletionCallback delegate
11.
Interlocked class, NativeOverlapped structure and Overlapped class
12.
ExecutionContext class, HostExecutionContext class, HostExecutionContextManager class, and ContextCallback delegate
13.
LockCookie structure, Monitor class, Mutex class, and Semaphore class
C.
Create a unit of isolation for common language runtime within a .NET Framework application by using application domains.
1.
Create an application domain
2.
Unload an application domain
3.
Configure an application domain
4.
Retrieve setup information from an application domain
5.
Load assemblies into an application domain
III.
Embedding configuration, diagnostic, management, and installation features into a .NET Framework application (14 percent)
A.
Embed configuration management functionality into a .NET Framework application.
1.
Configuration class and ConfigurationManager class
2.
ConfigurationSettings class, ConfigurationElement class, ConfigurationElementCollection class and ConfigurationElementProperty class
3.
Implement IConfigurationSectionHandler interface
4.
ConfigurationSection class, ConfigurationSectionCollection class, ConfigurationSectionGroup class and ConfigurationSectionGroupCollection class
5.
Implement ISettingsProviderService interface
6.
Implement IApplicationSettingsProvider interface
7.
ConfigurationValidationBase class
8.
Implement IConfigurationSystem interface
B.
Create a custom Microsoft Windows Installer for .NET components by using the System.Configuration.
1.
Configuration class and ConfigurationManager class
2.
ConfigurationSettings class, ConfigurationElement class, ConfigurationElementCollection class and ConfigurationElementProperty class
3.
Implement IConfigurationSectionHandler interface
4.
ConfigurationSection class, ConfigurationSectionCollection class, ConfigurationSectionGroup class and ConfigurationSectionGroupCollection class
5.
Implement ISettingsProviderService interface
6.
Implement IApplicationSettingsProvider interface
7.
ConfigurationValidationBase class
8.
Implement IConfigurationSystem interface
C.
Install namespace, and configure .NET Framework applications by using configuration files, environment variables, and the .NET Framework Configuration tool (Mscorcfg.msc).
1.
Installer class
2.
Configure which runtime version a .NET Framework application should use
3.
Configure where the runtime should search for an assembly
4.
Configure the location of an assembly and which version of the assembly to use
5.
Direct the runtime to use the DEVPATH environment variable when searching for assemblies
6.
AssemblyInstaller class
7.
ComponentInstaller class
8.
Configure a .NET Framework application by using the .NET Framework Configuration tool (Mscorcfg.msc)
9.
ManagedInstallerClass
10.
InstallContext class
11.
InstallerCollection class
12.
Implement IManagedInstaller interface
13.
InstallEventHandler delegate
14.
Configure concurrent garbage collection
15.
Register remote objects by using configuration files
D.
Manage an event log by using the System.Diagnostics namespace.
1.
Write to an event log
2.
Read from an event log
3.
Create a new event log
E.
Manage system processes and monitor the performance of a .NET application by using the diagnostics functionality of the .NET Framework.
1.
Get a list of all running processes
2.
Retrieve information about the current process
3.
Get a list of all modules loaded by a process
4.
PerformanceCounter class, PerformanceCounterCategory and CounterCreationData class
5.
Start a process both by using and by not using command-line arguments
6.
StackTrace class
7.
StackFrame class
F.
Debug and trace a .NET Framework application by using the System.Diagnostics namespace.
1.
Debug class
2.
Debugger class
3.
Trace class, CorrelationManager class
4.
TraceListener class
5.
TraceSource class
6.
TraceSwitch class
7.
XmlWriterTraceListener class
8.
DelimitedListTraceListener class and EventlogTraceListener class
9.
Debugger attributes
G.
Embed management information and events into a .NET Framework application.
1.
May include but is not limited to
2.
Retrieve a collection of Management objects by using the ManagementObjectSearcher class and its derived classes
3.
ManagementQuery class
4.
Subscribe to management events by using the ManagementEventWatcher class
IV.
Implementing serialization and input/output functionality in a .NET Framework application (18 percent)
A.
Serialize or deserialize an object or an object graph by using runtime serialization techniques.
1.
Serialization interfaces
2.
Serialization attributes
3.
SerializationEntry structure and SerializationInfo class
4.
ObjectManager class
5.
Formatter class, FormatterConverter class, and FormatterServices class
6.
StreamingContext structure
B.
Control the serialization of an object into XML format by using the System.Xml.Serialization namespace.
1.
Serialize and deserialize objects into XML format by using the XmlSerializer class
2.
Control serialization by using serialization attributes
3.
Implement XML serialization interfaces to provide custom formatting for XML serialization
4.
Delegates and event handlers provided by the System.Xml.Serialization namespace
C.
Implement custom serialization formatting by using the Serialization Formatter classes.
1.
SoapFormatter
2.
BinaryFormatter class
D.
Access files and folders by using the File System classes.
1.
File class and FileInfo class
2.
Directory class and DirectoryInfo class
3.
DriveInfo class and DriveType enumeration
4.
FileSystemInfo class and FileSystemWatcher class
5.
Path class
6.
ErrorEventArgs class and ErrorEventHandler delegate
7.
RenamedEventArgs class and RenamedEventHandler delegate
E.
Manage byte streams by using Stream classes.
1.
FileStream class
2.
Stream Class (NOT Readers and Writer classes, as they are separate objectives)
3.
MemoryStream class
4.
BufferedStream class
F.
Manage .NET Framework application data by using Reader and Writer classes.
1.
StringReader class and StringWriter class
2.
TextReader class and TextWriter class
3.
StreamReader class and StreamWriter class
4.
BinaryReader class and BinaryWriter class
G.
Compress or decompress stream information in a .NET Framework application and improve the security of application data by using isolated storage.
1.
IsolatedStorageFile class
2.
IsolatedStorageFileStream class
3.
DeflateStream class
4.
GZipStream class
V.
Improving the security of .NET Framework applications by using the .NET Framework security features (20 percent)
A.
Implement code access security to improve the security of a .NET Framework application.
1.
SecurityManager class
2.
CodeAccessPermission class
3.
Modify the Code Access Security Policy at machine, user, and enterprise policy level by using the Caspol tool
4.
PermissionSet class, NamedPermissionSet class, and PermissionSetCollection class
5.
Standard Security interfaces
B.
Implement access control by using the System.Security.AccessControl classes.
1.
DirectorySecurity class, FileSecurity class, FileSystemSecurity class, and RegistrySecurity class
2.
AccessRule class
3.
AuthorizationRule class and AuthorizationRuleCollection class
4.
CommonAce class, CommonAcl class, CompoundAce class, GeneralAce class, and GeneralAcl class
5.
AuditRule class
6.
MutexSecurity class, ObjectSecurity class, and SemaphoreSecurity class
C.
Implement a custom authentication scheme by using the System.Security.Authentication classes.
1.
Authentication algorithms and SSL protocols
D.
Encrypt, decrypt, and hash data by using the System.Security.Cryptography classes.
1.
DES class and DESCryptoServiceProvider class
2.
HashAlgorithm class
3.
DSA class and DSACryptoServiceProvider class
4.
SHA1 class and SHA1CryptoServiceProvider class
5.
TripleDES and TripleDESCryptoServiceProvider class
6.
MD5 class and MD5CryptoServiceProvider class
7.
RSA class and RSACryptoServiceProvider class
8.
RandomNumberGenerator class
9.
CryptoStream class
10.
CryptoConfig class
11.
RC2 class and RC2CryptoServiceProvider class
12.
AssymetricAlgorithm class
13.
ProtectedData class and ProtectedMemory class
14.
RijndaelManaged class and RijndaelManagedTransform class
15.
CspParameters class
16.
CryptoAPITransform class
17.
Hash-Based Message Authentication Code (HMAC)
E.
Control permissions for resources by using the System.Security.Permission classes.
1.
SecurityPermission class
2.
PrincipalPermission class
3.
FileIOPermission class
4.
StrongNameIdentityPermission class
5.
UIPermission class
6.
UrlIdentityPermission class
7.
PublisherIdentityPermission class
8.
GacIdentityPermission class
9.
FileDialogPermission class
10.
DataProtectionPermission class
11.
EnvironmentPermission class
12.
IUnrestrictedPermission interface
13.
RegistryPermission class
14.
IsolatedStorageFilePermission class
15.
KeyContainerPermission class
16.
ReflectionPermission class
17.
StorePermission class
18.
SiteIdentityPermission class
19.
ZoneIdentityPermission class
F.
Control code privileges by using System.Security.Policy classes.
1.
ApplicationSecurityInfo class and ApplicationSecurityManager class
2.
ApplicationTrust class and ApplicationTrustCollection class
3.
Evidence and PermissionRequestEvidence class
4.
CodeGroup class, FileCodeGroup class, FirstMatchCodeGroup class, NetCodeGroup class, and UnionCodeGroup class
5.
Condition classes
6.
PolicyLevel and PolicyStatement class
7.
IApplicationTrustManager interface, IMembershipCondition interface, and IIdentityPermissionFactory interface
G.
Access and modify identity information by using the System.Security.Principal classes.
1.
GenericIdentity class and GenericPrincipal class
2.
WindowsIdentity class and WindowsPricipal class
3.
NTAccount class and SecurityIdentifier class
4.
IIdentity interface and IPrincipal interface
5.
WindowsImpersonationContext class
6.
IdentityReference class and IdentityReferenceCollection class
VI.
Implementing interoperability, reflection, and mailing functionality in a .NET Framework application (11 percent)
A.
Expose COM components to the .NET Framework and .NET Framework components to COM.
1.
Import a type library as an assembly
2.
Create COM types in managed code
3.
Compile an interop project
4.
Deploy an interop application
5.
Qualify .NET types for interoperation
6.
Apply Interop attributes, such as the ComVisibleAttribute class
7.
Package an assembly for COM
8.
Deploy an application for COM access.
B.
Call unmanaged DLL functions within a .NET Framework application, and control the marshalling of data in a .NET Framework application.
1.
Platform Invoke
2.
Create a class to hold DLL functions
3.
Create prototypes in managed code
4.
Call a DLL function
5.
Call a DLL function in special cases, such as passing structures and implementing callback functions
6.
Create a new Exception class and map it to an HRESULT
7.
Default marshalling behavior
8.
Marshal data with Platform Invoke
9.
Marshal data with COM Interop
10.
MarshalAsAttribute class and Marshal class
C.
Implement reflection functionality in a .NET Framework application, and create metadata, Microsoft intermediate language (MSIL), and a PE file by using the System.Reflection.Emit namespace.
1.
Assembly class
2.
Assembly Attributes
3.
Info classes
4.
Binder class and BindingFlags
5.
MethodBase class and MethodBody class
6.
Builder classes
D.
Send electronic mail to a Simple Mail Transfer Protocol (SMTP) server for delivery from a .NET Framework application.
1.
MailMessage class
2.
MailAddress class and MailAddressCollection class
3.
SmtpClient class, SmtpPermission class, and SmtpPermissionAttribute class
4.
Attachment class, AttachmentBase class, and AttachmentCollection class
5.
SmtpException class, SmtpFailedReceipientException class, and SmtpFailedReceipientsException class
6.
SendCompletedEventHandler delegate
7.
LinkedResource class and LinkedResourceCollection class
8.
AlternateView class and AlternateViewCollection class
VII.
Implementing globalization, drawing, and text manipulation functionality in a .NET Framework application (11 percent)
A.
Format data based on culture information.
1.
Access culture and region information within a .NET Framework application
2.
Format date and time values based on the culture
3.
Format number values based on the culture
4.
Perform culture-sensitive string comparison
5.
Build a custom culture class based on existing culture and region classes.
B.
Enhance the user interface of a .NET Framework application by using the System.Drawing namespace.
1.
Enhance the user interface of a .NET Framework application by using brushes, pens, colors, and fonts
2.
Enhance the user interface of a .NET Framework application by using graphics, images, bitmaps, and icons
3.
Enhance the user interface of a .NET Framework application by using shapes and sizes.
C.
Enhance the text handling capabilities of a .NET Framework application, and search, modify, and control text within a .NET Framework application by using regular expressions.
1.
StringBuilder class
2.
Regex class
3.
Match class and MatchCollection class
4.
Group class and GroupCollection class
5.
Encode text by using Encoding classes.
6.
Decode text by using Decoding classes.
7.
Capture class and CaptureCollection class