Published: July 2, 2010
Languages: English
Audiences: Developers
Technology: Microsoft Visual Studio 2010
Credit toward certification: Microsoft Certified Technology Specialist (MCTS), Microsoft Certified Professional Developer (MCPD)

Skills measured
This exam measures your ability to accomplish the technical tasks listed below. The percentages indicate the relative weight of each major topic area on the exam. The higher the percentage, the more questions you are likely to see on that content area on the exam. View video tutorials about the variety of question types on Microsoft exams.

Please note that the questions may test on, but will not be limited to, the topics described in the bulleted text.

Do you have feedback about the relevance of the skills measured on this exam? Please send Microsoft your comments. All feedback will be reviewed and incorporated as appropriate while still maintaining the validity and reliability of the certification process. Note that Microsoft will not respond directly to your feedback. We appreciate your input in ensuring the quality of the Microsoft Certification program.

If you have concerns about specific questions on this exam, please submit an exam challenge.

If you have other questions or feedback about Microsoft Certification exams or about the certification program, registration, or promotions, please contact your Regional Service Center.

Create services (20%)
Create service and operation contracts
One-way, duplex, and request reply; create and specify fault contracts; configuration-based contracts; expose service metadata; select serialization (for example data contract serializer versus XML serializer)
This objective does not include: design service and operation contracts; transactions, instantiation, security-related attributes
Create data contracts
Manage Known Types, control data serialization, use required and order attributes on data members, implement versioning use IExtensibleDataObject, POCOs
This objective does not include: using custom serializer (ISerializationSurrogate)
Create message contracts
Application-level styles, overriding styles, style inheritance, Generic.xaml, theming attributes
This objective does not include: data-grid view style sharing
Implement generic message handling
Create a catch-all contract, read and write messages, work with properties, work with headers
This objective does not include: inherit from Message class, use BodyWriter, create Fault messages
Implement RESTful services
Access HTTP context; WebGet/WebInvoke, UriTemplates; JSON/POX
Create and configure a Routing service
Filters, static and dynamic, context-based routing, content-based routing; router interfaces
Create and configure a Discovery service
Configure ad hoc and managed modes, Discovery scopes, service announcements

Host and configure services (18%)
Create and configure endpoints
Default and standard bindings; custom bindings created from standard binding elements; standard endpoints; transports, including HTTP, TCP, named pipes, UDP, MSMQ code-based service configuration; message encoding
This objective does not include: create a custom binding element; create new standard endpoints, load configuration from a location other than the default application configuration file, security, transaction, reliable sessions
Configure behaviors
Apply service, endpoint, and operation behaviors in configuration and code
This objective does not include: create a custom behavior; create and use dispatch behaviors, load configuration from a location other than the default application configuration file
Implement self-hosting
Configure and instantiate a service host
This objective does not include: implement a custom service host
Implement web server hosting
Configure IIS/WAS for WCF, deploy to IIS/WAS, file-less configuration, specify a ServiceHost
This objective does not include: Windows Application Server

Consume services (18%)
Create a service proxy
Use a proxy class or channel factory to create a proxy, create a proxy for an asynchronous communication, create a proxy for a duplex communication
This objective does not include: SvcUtil command-line switches
Configure client endpoints
Standard bindings, custom bindings created from standard binding elements, configure behaviors; code-based and configuration-based bindings; configure addresses
This objective does not include: security; create custom behaviors
Invoke a service
Invoke a service operation synchronously and asynchronously, handle service faults, use the Message class, manage the life cycle of the proxy (open channels, close channels, abort channels, handle faulted channels), implement duplex communication
Consume RESTful services
Access HTTP context, JSON/POX
Implement service discovery
Configure target scope, monitor service announcements

Secure services (17%)
Configure secure bindings
Transport, message, mixed mode
Configure message security
Specify protection levels on different message parts
Implement authentication
Microsoft ASP.NET Membership Provider, Custom Provider, Windows Integrated Security, certificates (X.509), Federated Authentication endpoint identity; configuring client credentials; Custom Validator
This objective does not include: Geneva Framework
Implement authorization
Role-based, claim-based; configure role providers for endpoints; principal permission attribute
This objective does not include: rights-management authorization such as Active Directory Rights Management Services (AD RMS)
Implement impersonation
Configuration and code, configure WCF-specific Internet Information Services (IIS) impersonation properties, configure impersonation options, operation-based and service-based
Implement security auditing
Use serviceSecurityAudit behavior, service audit, audit log

Manage the service instance life cycle (13%)
Manage service instances
Per call, per session, single, code and configuration, activation and deactivation, durable services, throttling
Manage sessions
Code and configuration, session management attributes, throttling, reliable sessions, transport-level and application-level sessions, invoke a callback contract
Implement transactions
Distributed transactions, transactional queues, transaction flow; configure transaction binding attributes, WS-AtomicTransaction (WS-AT), transactional behavior attributes at the service and operation level, use transactions in code
Manage concurrency
Single, multiple, and reentrant concurrency modes; SynchronizationContext and CallbackBehavior
This objective does not include: deadlocks and other multithreading issues
Manage consistency between instances, sessions, transactions, and concurrency
Possible combinations between instances, sessions, transactions, and concurrency (for example, instance mode single with concurrency mode multiple)

Monitor and troubleshoot distributed systems (13%)
Configure message logging
Configure message listeners, logging level, message filters, configure logging known PII
This objective does not include: secure message logs
Configure diagnostics
WMI, performance counters, event logging
Debug client-service interactions
Send server exception details to client, end-to-end tracing, interpret output from the trace viewer (single message and end-to-end)
This objective does not include: trace viewer features outside of viewing traces


 

QUESTION 2
You have an existing Windows Communication Foundation (WCF) service.
You need to ensure that other services are notified when the service is started.
What should you do?

A. Add the following standard endpoint to the service. <endpoint name=”udpAnnouncementEndpoint” kind=”udpDiscoveryEndpoint” />
B. Add the following standard endpoint to the service. <endpoint name=”udpDiscoveryEndpoint” kind=”udpAnnouncementEndpoint” />
C. Add a service behavior with the following element. <serviceDiscovery>
<announcementEndpoints>
<endpoint kind=”udpDiscoveryEndpoint” /> </announcementEndpoints> </serviceDiscovery>
D. Add a service behavior with the following element. <serviceDiscovery>
<announcementEndpoints>
<endpoint kind=”udpAnnouncementEndpoint” /> </announcementEndpoints> </serviceDiscovery>

Answer: D


QUESTION 3
You develop a Windows Communication Foundation (WCF) service. You enable all performance counters and run multiple calls to the service.
The service must isolate session data for each user.
You need to monitor the instancing behavior used in the service.
Which performance counter should you monitor?

A. ServiceModelService 4.0.0.0\Calls
B. ServiceModelService 4.0.0.0\Instances
C. ASP.NET State Service\State Server Sessions Active
D. ASP.NET State Service\State Server Sessions Total

Answer: B


QUESTION 4
You develop a Windows Communication Foundation (WCF) service.
You name the service MovieService in the Movie namespace. The service is hosted in Microsoft Internet Information Services (IIS).
You copy the assembly containing the service to the bin folder in the virtual directory path.
You need to set up the URI that is mapped to the service.
What should you do?

A. Add the following code segment to the web.config file. <serviceHostingEnvironment>
<serviceActivations>
odd relativeAddress=”./Movie” service=”Movie.MovieService”/> </serviceAct ivations>
</serviceHostingEnvironment>
B. Add a Movie.svc file in the root of the virtual path with the following line. <%8ServiceHost language=”C#” Service=”MovieService”*>
C. Add the following code segment to the web.config file. <serviceHostingEnvironment>
<serviceActivations>
odd relativeAddress=” . /Movie, svc” service=”Hovie.MovieService”/> </serviceActivations>
</serviceHostingEnvirorunent>
D. Add a Movie.svc file in the root of the virtual path with the following line. <%8ServiceHost language=”C#” Service=”MovieService.svc”%>

Answer: B


QUESTION 5
A Windows Communication Foundation (WCF) service that handles corporate accounting must be changed to comply with government regulations of auditing and accountability.
You need to configure the WCF service to execute under the Windows logged-on identity of the calling application.
What should you do?

A. Within the service configuration, add a serviceAuthorization behavior to the service, and set impersonateCallerForAllOperations to true.
B. Within the service configuration, add a serviceAuthenticationManager behavior to the service, and set serviceAuthenticationManagerType to Impersonate.
C. Within the service configuration, add a serviceSecurityAudit behavior to the service, and set serviceAuthorizationAuditLevel to SuccessOrFailure.
D. Within the service configuration, add a serviceCredentials behavior to the service, and set type to Impersonate.

Answer: A


QUESTION 6
A Windows Communication Foundation (WCF) solution uses the following contract to share a message across its clients. (Line numbers are included for reference only.)
01 <ServiceContract()>
02 Public Interface ITeamMessageService
03
04 <OperationContract()>
05 Function GetMessage() As String
06
07 <OperationContract()>
08 Sub PutMessage(ByVal message As String)
09 End Interface
The code for the service class is as follows.
10 Public Class TeamMessageService
11 Implements ITeamMessageService
12
13 Dim key As Guid = Guid.NewGuid()
14 Dim message As String = “Today s Message”
15
16 Public Function GetMessage() As String _
17 Implements ITeamMessageService.GetMessage
18
19 Return String.Format(“Message:{0}. Key:{1}”, message, key)
20 End Function
21
22 Public Sub PutMessage(ByVal message As String) _
23 Implements ITeamMessageService.PutMessage
24
25 Me.message = message
26 End Sub
27
28 End Class
The service is self-hosted. The hosting code is as follows.
29 Dim host As ServiceHost =
New ServiceHost(GetType(TeamMessageService)) 30 Dim binding As BasicHttpBinding =
New BasicHttpBinding(BasicHttpSecurityMode.None)
31 host.AddServiceEndpoint( “MyApplication.ITeamMessageService”, binding, “http://localhost:12345”)
32 host.Open()
You need to ensure that all clients calling GetMessage will retrieve the updated string if the message is updated by any client calling PutMessage.
What should you do?

A. Add the following attribute to the TeamMessageService class, before line 10. <ServiceBehavior(InstanceContextMode:=InstanceContextMode.Single)>
B. Add the following attribute to the TeamMessageService class, before line 10002E <ServiceBehavior(InstanceContextMode:=
InstanceContextMode.PerSession)>
C. Pass a service instance to the instancing code in line 29, as follows.
Dim host As ServiceHost = New ServiceHost(New TeamMessageService())
D. Redefine the message string in line 14, as follows. Shared message As String = “Today s Message”
E. Then change the implementation of PutMessage in lines 22-26 to the following. Public Sub PutMessage(ByVal message As String) _
Implements ITeamMessageService.PutMessage TeamMessageService.message = message End Sub

Answer: A


QUESTION 7
You are creating a Window s Communication Foundation (WCF) service application. The application needs to service many clients and requests simultaneously.
The application also needs to ensure subsequent individual client requests provide a stateful conversation.
You need to configure the service to support these requirements.
Which attribute should you add to the class that is implementing the service?

A. [ ServiceBehavior ( InstanceContextMode = InstanceContextMode.PerSession, ConcurrencyMode = ConcurrencyMode.Single )]
B. [ ServiceBehavior ( InstanceContextMode = InstanceContextMode.PerCall,
ConcurrencyMode = ConcurrencyMode.Reentrant )]
C. [ ServiceBehavior ( InstanceContextMode = InstanceContextMode.PerSession, ConcurrencyMode = ConcurrencyMode.Multiple )]
D. [ ServiceBehavior ( InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Multiple )]

Answer: C


QUESTION 8
You are configuring services to be discoverable. The services must be discoverable without relying on a central server. Client applications that consume the services are on a network segment that is separate from the network segment that the services are located on.
A firewall blocks all TCP ports between the two network segments, but allows other protocols to pass through.
You need to ensure that the client applications can discover the services.
What should you do?

A. Use ad-hoc discovery mode over HTTP.
B. Use ad-hoc discovery mode over UDP.
C. Use managed discovery mode over HTTP.
D. Use managed discovery mode over UDP.

Answer: B

Explanation: Explanation/Reference:
Managed discovery modes are incorrect, they require central server for discovery. By default the .NET Framework contains support for Ad-Hoc discovery over the UDP protocol

Click here to view complete Q&A of 70-513 exam
Certkingdom Review

MCTS Training, MCITP Trainnig

Best Microsoft MCTS Certification, Microsoft 70-513 Training at certkingdom.com