1 //------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //------------------------------------------------------------
5 namespace System.ServiceModel.Activities.Presentation.Factories
7 using System.Activities;
8 using System.Activities.Presentation;
9 using System.Activities.Statements;
10 using System.ServiceModel.Activities;
12 using System.Xml.Linq;
13 using Microsoft.VisualBasic.Activities;
14 using System.Activities.Presentation.View;
15 using System.Activities.Presentation.Services;
16 using System.Activities.Expressions;
18 public sealed class ReceiveAndSendReplyFactory : IActivityTemplateFactory
20 const string correlationHandleNamePrefix = "__handle";
21 static string requiredAssemblyName = typeof(CorrelationHandle).Assembly.GetName().Name;
22 static string requiredNamespace = typeof(CorrelationHandle).Namespace;
24 public Activity Create(DependencyObject target)
26 string correlationHandleName = ActivityDesignerHelper.GenerateUniqueVariableNameForContext(target, correlationHandleNamePrefix);
28 Variable<CorrelationHandle> requestReplyCorrelation = new Variable<CorrelationHandle> { Name = correlationHandleName };
30 Receive receive = new Receive
32 OperationName = "Operation1",
33 ServiceContractName = XName.Get("IService", "http://tempuri.org/"),
34 CorrelationInitializers =
36 new RequestReplyCorrelationInitializer
38 CorrelationHandle = new VariableValue<CorrelationHandle> { Variable = requestReplyCorrelation }
44 Sequence sequence = new Sequence()
46 Variables = { requestReplyCorrelation },
52 DisplayName = "SendReplyToReceive",