Slide 1: PassGuide 70-504
Microsoft 70-504
TS: Microsoft .NET Framework 3.5 -C Windows Workflow Foundation
Q&A
Demo
www.PassGuide.com
(C) Copyright 2006-2009 CertBible Tech LTD,All Rights Reserved.
PassGuide.com - Make You Succeed To Pass IT Exams
Slide 2: PassGuide 70-504
Important Note Please Read Carefully Study Tips This product will provide you questions and answers carefully compiled and written by our experts. Try to understand the concepts behind the questions instead of cramming the questions. Go through the entire document at least twice so that you make sure that you are not missing anything.
Latest Version We are constantly reviewing our products. New material is added and old material is revised. Free updates are available for 120 days after the purchase. You should check your member zone at PassGuide an update 3-4 days before the scheduled exam date.
Feedback If you spot a possible improvement then please let us know. We always interested in improving product quality. Feedback should be send to feedback@passguide.com. You should include the following: Exam number, version, page number, question number, and your login ID. Our experts will answer your mail promptly.
Be Prepared. Be Confident. Get Certified. ------------------------------------------------------------------------------------------------------------------------Sales and Support Manager Sales Team: sales@passguide.com Support Team: support@passguide.com ---------------------------------------------------------------------------------------------------------------------
Copyright Each pdf file contains a unique serial number associated with your particular name and contact information for security purposes. So if we find out that a particular pdf file is being distributed by you, CertBible reserves the right to take legal action against you according to the International Copyright Laws.
PassGuide.com - Make You Succeed To Pass IT Exams
Slide 3: PassGuide 70-504
Question:1 You are writing a sequential console workflow that consists of a delay activity and a code activity, as shown in the exhibit. (Click the Exhibit button for the sequential console workflow image.) In the execution code of the second activity, you try to modify the workflow as follows: Private Sub delayActivity_InitializeTimeoutDuration(ByVal sender As System.Object, ByVal e As System.EventArgs) Console.Title = "Modifiability of a Workflow" Console.WriteLine("Wait ...") End Sub Private Sub codeActivity_ExecuteCode(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim delay As DelayActivity = CType(sender, DelayActivity) Console.WriteLine(delay.Name) Dim workflowChanges As New WorkflowChanges(Me) Dim codeActivity As New CodeActivity() codeActivity.Name = "codeActivity2" AddHandler codeActivity.ExecuteCode, AddressOf Me.codeActivity2_ExecuteCode workflowChanges.TransientWorkflow.Activities.Add(codeActivity) Me.ApplyWorkflowChanges(workflowChanges) End Sub Private Sub codeActivity2_ExecuteCode(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim codeActivity As CodeActivity = CType(sender, CodeActivity) Console.WriteLine(codeActivity.Name) Console.ReadLine() End Sub You also have set the modifiability of the workflow to a code condition that is set to the following function: Private Sub UpdateCondition(ByVal sender As System.Object, ByVal e As ConditionalEventArgs) If (TimeSpan.Compare(Me.delayActivity.TimeoutDuration, New TimeSpan(0, 0, 5)) > 0) Then e.Result = False Else e.Result = True End If End Sub Which code segment should you use to handle the exception? A. workflowChanges.TransientWorkflow.Activities.Add(codeActivity) Try Me.ApplyWorkflowChanges(workflowChanges) Catch ex As ArgumentOutOfRangeException Console.WriteLine(ex.GetType().ToString()) Console.ReadLine() End Try B. workflowChanges.TransientWorkflow.Activities.Add(codeActivity) Try Me.ApplyWorkflowChanges(workflowChanges) Catch ex As InvalidProgramException Console.WriteLine(ex.GetType().ToString()) Console.ReadLine() End Try C. workflowChanges.TransientWorkflow.Activities.Add(codeActivity) Try Me.ApplyWorkflowChanges(workflowChanges) Catch ex As InvalidOperationException Console.WriteLine(ex.GetType().ToString()) Console.ReadLine() End Try D. workflowChanges.TransientWorkflow.Activities.Add(codeActivity) Try Me.ApplyWorkflowChanges(workflowChanges) Catch ex As OverflowException Console.WriteLine(ex.GetType().ToString()) Console.ReadLine() End Try Answer: C Question:2 A custom activity defined in an assembly named LitwareActivities is defined as follows: Namespace LitwareActivities Public Class WriteLineActivity Inherits Activity Protected Overrides Function Execute(ByVal executionContext As System.Workflow.ComponentModel.ActivityExecutionContext) _ As System.Workflow.ComponentModel.ActivityExecutionStatus Console.WriteLine(Message) Return ActivityExecutionStatus.Closed End Function Private aMessage As String
PassGuide.com - Make You Succeed To Pass IT Exams
Slide 4: PassGuide 70-504
Public Property Message() As String Get Return aMessage End Get Set(ByVal value As String) aMessage = value End Set End Property End Class End Namespace You need to create a sequential workflow where the execution path can be generated on the fly by an application. Which XML code segment should you use? A. <SequentialWorkflowActivity xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Litware="clr-namespace:LitwareActivities;assembly=LitwareActivities"> <Litware:WriteLineActivity Message="Hello, WF"/> </SequentialWorkflowActivity> B. <Workflow xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Litware="clr-namespace:LitwareActivities;assembly=LitwareActivities"> <Litware:WriteLineActivity Message="Hello, WF"/> </Workflow> C. <Workflow xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" class:Litware="clr-namespace:LitwareActivities;assembly=LitwareActivities"> <Litware:WriteLineActivity Message="Hello, WF"/> </Workflow> D. <SequentialWorkflowActivity class:Litware="clr-namespace:LitwareActivities;assembly=LitwareActivities"> <Litware:WriteLineActivity Message="Hello, WF"/> </SequentialWorkflowActivity> Answer: A Question:3 You create an application in which users design simple sequential workflows. The designs are stored as XOML in a SQL database. You need to start one of these sequential workflows from within your own workflow. What should you do? A. Include a custom activity with a code segment that includes an invocation to the CreateWorkflow method of the WorkflowRuntime class and then starts the workflow. The signature of the CreateWorkflow method invoked uses only the workflowType parameter. B. Include a custom activity with a code segment that includes an invocation to the CreateWorkflow method of WorkflowRuntime class and then starts the workflow. The signature of the CreateWorkflow method invoked uses only the XmlReader and workflowDefinitionReader parameters. C. Include a custom activity with a code segment that includes an invocation to the CreateWorkflow method of the WorkflowRuntime class and then starts the workflow. The signature of the CreateWorkflow method invoked uses only the workflowType, Dictionary<string,Object> namedArgumentValues, and Guid instanceId parameters. D. Include and configure an InvokeWorkflow activity Answer: B
PassGuide.com - Make You Succeed To Pass IT Exams
Slide 5: PassGuide 70-504
Question:4 You use a built-in tracking service to track specific workflow parameters. You need to check whether the workflow parameters have been stored in the tracking database. What should you do? (Each correct answer presents part of a solution. Choose two.) A. Display the contents of the WorkflowInstance table of the tracking database. B.Include the SqlTrackingQuery class in a code segment to retrieve tracked workflows and SqlTrackingWorkflowInstance class to inspect them. C. Use the ActivityTrackingLocation class to determine if the value has been set to a database. D. Display the contents of the TrackingDataItem table of the tracking database. Answer: B D Question:5 You create a Windows Workflow Foundation application by using Microsoft .NET Framework 3.5. You use the state machine workflow in the application. You plan to implement a mechanism that allows a host application to query a state machine workflow instance that is currently executing. You write the following code segment. (Line numbers are included for reference only.) 01 Dim runtime As New WorkflowRuntime() 02 Dim instance As WorkflowInstance = _ 03 runtime.CreateWorkflow(GetType(Workflow1)) 04 instance.Start() 05 You need to identify the current state of the workflow. Which code segment should you insert at line 05? A. Dim currentstate As String = instance.GetWorkflowDefinition().ToString B. Dim currentstate As String = _ instance.GetWorkflowDefinition().ExecutionStatus.ToString C. Dim smwi As New StateMachineWorkflowInstance(runtime, _ instance.InstanceId) Dim currentstate As String = smwi.StateHistory(0) D. Dim smwi As New StateMachineWorkflowInstance(runtime, _ instance.InstanceId) Dim currentstate As String = smwi.CurrentStateName Answer: D Question:6 You create a Windows Workflow Foundation application by using Microsoft .NET Framework 3.5. The application contains a state workflow. You write the following code segment. Dim amount As Integer = 10 Dim runtime As New WorkflowRuntime() Dim instance As WorkflowInstance = _ runtime.CreateWorkflow(GetType(DynamicUpdateWorkflow)) instance.Start() Dim smwi As New StateMachineWorkflowInstance(runtime, _ instance.InstanceId) A dependency property named Status is defined in this workflow. The value of a variable named amount is used to set the state of the workflow. You need to ensure that the host application changes the state of the workflow on the basis of the value of the amount variable. What are the two possible code segments that you can use to achieve this goal? (Each correct answer presents a complete solution. Choose two.) A. If amount >= 1000 Then smwi.SetState("HighValueState") Else smwi.SetState("LowValueState") End If B. If amount >= 1000 Then smwi.StateMachineWorkflow.SetValue _ (DynamicUpdateWorkflow.StatusProperty, "HighValueState") Else smwi.StateMachineWorkflow.SetValue _ (DynamicUpdateWorkflow.StatusProperty, "LowValueState") End If C. If amount >= 1000 Then instance.GetWorkflowDefinition().SetValue (DynamicUpdateWorkflow.StatusProperty, "HighValueState") Else instance.GetWorkflowDefinition().SetValue (DynamicUpdateWorkflow.StatusProperty, "LowValueState") End If D. If amount >= 1000 Then
PassGuide.com - Make You Succeed To Pass IT Exams
Slide 6: PassGuide 70-504
Dim high As StateActivity = _ CType(smwi.StateMachineWorkflow.Activities("HighValueState"), _ StateActivity) smwi.SetState(high) Else Dim low As StateActivity = _ CType(smwi.StateMachineWorkflow.Activities("LowValueState"), _ StateActivity) smwi.SetState(low) End If Answer: A D
Question:7 You create a Windows Workflow Foundation application by using Microsoft .NET Framework 3.5. The application uses a markup-only workflow. The workflow will also require the use of a code-beside file. The following code fragment is implemented in XAML. <SequentialWorkflowActivityx:Class="ProcessNewCustomer" Name="ProcessCustomer" xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/workflow" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> </SequentialWorkflowActivity> You need to create a class declaration to implement the custom code. Which code segment should you use? A. Partial Public Class ProcessNewCustomer Inherits SequentialWorkflowActivity ' Class implementation code appears here. End Class B. Public Class ProcessNewCustomer Inherits SequentialWorkflowActivity ' Class implementation code appears here. End Class C. Public Class ProcessNewCustomerCode Inherits ProcessNewCustomer ' Class implementation code appears here. End Class D. Partial Public Class ProcessCustomer Inherits SequentialWorkflowActivity ' Class implementation code appears here. End Class Answer: A Question:8 You create a workflow host application by using Microsoft .NET Framework 3.5. You use Windows Workflow Foundation to create the application. You need to configure the workflow runtime to ensure that all the workflow instances run asynchronously. Which code segment should you use? A. Dim runtime As New WorkflowRuntime() runtime.StartRuntime() Dim instance As WorkflowInstance = _ runtime.CreateWorkflow(GetType(CustomerWorkflow)) instance.Start() B. Dim runtime As New WorkflowRuntime() runtime.StartRuntime()
PassGuide.com - Make You Succeed To Pass IT Exams
Slide 7: PassGuide 70-504
Dim scheduler As ManualWorkflowSchedulerService = _ runtime.GetService(Of ManualWorkflowSchedulerService)() Dim instance As WorkflowInstance = _ runtime.CreateWorkflow(GetType(CustomerWorkflow)) scheduler.RunWorkflow(instance.InstanceId) C. Dim runtime As New WorkflowRuntime() Dim scheduler As New ManualWorkflowSchedulerService() runtime.AddService(scheduler) runtime.StartRuntime() Dim instance As WorkflowInstance = _ runtime.CreateWorkflow(GetType(CustomerWorkflow)) instance.Start() D. Dim runtime As New WorkflowRuntime() runtime.StartRuntime() Dim scheduler As New DefaultWorkflowSchedulerService() runtime.AddService(scheduler) Dim instance As WorkflowInstance = _ runtime.CreateWorkflow(GetType(CustomerWorkflow)) instance.Start() Answer: A Question:9 You create a Windows Workflow Foundation application by using Microsoft .NET Framework 3.5. A Windows Forms application functions as the workflow host by using the DefaultWorkflowSchedulerService. You create a WorkflowRuntime instance in the Load event of the forms. You also subscribe to the WorkflowCompleted event. You need to ensure that the application displays the message in the Label control named lblStatus when the WorkflowCompleted event is raised. Which code segment should you use? A. Private Sub UpdateInstances(ByVal id As Guid) If Me.InvokeRequired Then lblStatus.Text = id.ToString & " completed" End If End Sub B. Private Sub UpdateInstances(ByVal id As Guid) If (Not Me.InvokeRequired) Then lblStatus.Text = id.ToString & " completed" End If End Sub C. Private Delegate Sub UpdateInstancesDelegate(ByVal id As Guid) Private Sub UpdateInstances(ByVal id As Guid) If Me.InvokeRequired Then Me.Invoke(New _ UpdateInstancesDelegate(AddressOf UpdateInstances), _ New Object() {id}) Else lblStatus.Text = id.ToString & " completed" End If End Sub D. Private Delegate Sub UpdateInstancesDelegate(ByVal id As Guid) Private Sub UpdateInstances(ByVal id As Guid) If Not Me.InvokeRequired Then Me.Invoke(New _ UpdateInstancesDelegate(AddressOf UpdateInstances), _ New Object() {id}) Else lblStatus.Text = id.ToString & " completed" End If End Sub Answer: C Question:10 You create a Windows Workflow Foundation application by using Microsoft .NET Framework 3.5. The application uses a sequential workflow. The host application creates a workflow instance and stores it in a variable named instance. When the workflow is executed, a business requirement requires the workflow execution to pause for a few minutes. The host uses the following code segment. Dim runtime As New WorkflowRuntime() Dim instance As WorkflowInstance = _ runtime.CreateWorkflow(GetType(MyWorkflow))
PassGuide.com - Make You Succeed To Pass IT Exams
Slide 8: PassGuide 70-504
instance.Start() You need to ensure that the following requirements are met: The workflow execution is temporarily paused. The workflow state is preserved in memory. Which line of code should you use? A. instance.Unload() B. instance.TryUnload() C. instance.Suspend(Nothing) D. instance.Terminate(Nothing) Answer: C
PassGuide.com - Make You Succeed To Pass IT Exams