void Container12() { //ReceiveActivity.ReceiveActivity(String) //<snippet12> ReceiveActivity receiveActivity1 = new ReceiveActivity("receiveActivity1"); //</snippet12> }
//</snippet7> void Container11() { //ReceiveActivity.ReceiveActivity() //<snippet11> ReceiveActivity receiveActivity1 = new ReceiveActivity(); //</snippet11> }
void Container4() { //ReceiveActivity.ServiceOperationInfo //<snippet4> ReceiveActivity receiveQuoteFromShipper1 = new ReceiveActivity(); CodeActivity shipper1ShippingQuote = new CodeActivity(); ContextToken contextToken1 = new ContextToken(); ActivityBind activityBind1 = new ActivityBind(); WorkflowParameterBinding workflowParameterBinding1 = new WorkflowParameterBinding(); TypedOperationInfo typedOperationInfo1 = new TypedOperationInfo(); receiveQuoteFromShipper1.Activities.Add(shipper1ShippingQuote); contextToken1.Name = "Shipper1Context"; contextToken1.OwnerActivityName = "GetShippingQuotes"; receiveQuoteFromShipper1.ContextToken = contextToken1; receiveQuoteFromShipper1.Name = "receiveQuoteFromShipper1"; activityBind1.Name = "SupplierWorkflow"; activityBind1.Path = "quoteShipper1"; workflowParameterBinding1.ParameterName = "quote"; workflowParameterBinding1.SetBinding(WorkflowParameterBinding.ValueProperty, ((ActivityBind)(activityBind1))); receiveQuoteFromShipper1.ParameterBindings.Add(workflowParameterBinding1); typedOperationInfo1.ContractType = typeof(IShippingQuote); typedOperationInfo1.Name = "ShippingQuote"; receiveQuoteFromShipper1.ServiceOperationInfo = typedOperationInfo1; //</snippet4> }
void Container13() { //ReceiveActivity.GetContext(Activity, ContextToken) //<snippet13> ReceiveActivity receiveActivity1 = new ReceiveActivity(); Dictionary <XmlQualifiedName, String> context = (Dictionary <XmlQualifiedName, String>)ReceiveActivity.GetContext(receiveActivity1, receiveActivity1.ContextToken); //</snippet13> }
void Container5() { //ReceiveActivity.GetWorkflowServiceAttributes Activity rootActivity = new Activity(); //<snippet5> WorkflowServiceAttributes serviceAttributes = (WorkflowServiceAttributes)ReceiveActivity.GetWorkflowServiceAttributes(rootActivity); //</snippet5> }
void Container16() { //ReceiveActivity.GetRootContext //<snippet16> ReceiveActivity receiveActivity1 = new ReceiveActivity(); Dictionary <XmlQualifiedName, String> context = (Dictionary <XmlQualifiedName, String>)ReceiveActivity.GetRootContext(receiveActivity1); //</snippet16> }
protected override void PreFilterProperties(IDictionary properties) { base.PreFilterProperties(properties); ReceiveActivity receiveActivity = this.Activity as ReceiveActivity; if (receiveActivity != null) { receiveActivity.GetParameterPropertyDescriptors(properties); } }
void Container2() { //ReceiveActivity.FaultMessage //<snippet2> ReceiveActivity receiveQuote; receiveQuote = new ReceiveActivity(); FaultException message = receiveQuote.FaultMessage; //</snippet2> }
//14 was a discontinued method void Container15() { //ReceiveActivity.GetContext(Activity, String, String) //<snippet15> ReceiveActivity receiveActivity1 = new ReceiveActivity(); Dictionary <XmlQualifiedName, String> context = (Dictionary <XmlQualifiedName, String>)ReceiveActivity.GetContext( receiveActivity1, "ContextToken1", "ReceiveActivity1"); //</snippet15> }
void Container6() { //ReceiveActivity.SetWorkflowServiceAttributes ReceiveActivity receiveActivity1 = new ReceiveActivity(); //<snippet6> WorkflowServiceAttributes attributes = new WorkflowServiceAttributes(); attributes.ConfigurationName = "ServiceConfig"; attributes.IncludeExceptionDetailInFaults = true; attributes.AddressFilterMode = AddressFilterMode.Exact; ReceiveActivity.SetWorkflowServiceAttributes(receiveActivity1, attributes); //</snippet6> }
protected override void OnActivityChanged(ActivityChangedEventArgs e) { base.OnActivityChanged(e); if (e.Member != null && e.Member.Name == ReceiveActivity.ServiceOperationInfoProperty.Name) { ReceiveActivity receiveActivity = e.Activity as ReceiveActivity; if (receiveActivity != null) { receiveActivity.ParameterBindings.Clear(); } TypeDescriptor.Refresh(e.Activity); PerformLayout(); } }
public static Type GetContractType(OperationInfo operationInfo, ReceiveActivity contextActivity) { if (operationInfo == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("operationInfo"); } if (contextActivity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("contextActivity"); } if (string.IsNullOrEmpty(operationInfo.ContractName)) { return null; } Activity rootActivity = contextActivity.RootActivity; Dictionary<string, ContractType> contractTypes = rootActivity.GetValue(DynamicContractTypeBuilder.DynamicContractTypesProperty) as Dictionary<string, ContractType>; if (contractTypes == null) { Activity definition = rootActivity.GetValue(Activity.WorkflowDefinitionProperty) as Activity; if (definition != null) { contractTypes = definition.GetValue(DynamicContractTypeBuilder.DynamicContractTypesProperty) as Dictionary<string, ContractType>; } if (contractTypes != null) { rootActivity.SetValue(DynamicContractTypeBuilder.DynamicContractTypesProperty, contractTypes); } } if (contractTypes == null) { contractTypes = BuildContractTypes(rootActivity); rootActivity.SetValue(DynamicContractTypeBuilder.DynamicContractTypesProperty, contractTypes); } if (contractTypes.ContainsKey(operationInfo.ContractName)) { return contractTypes[operationInfo.ContractName]; } return null; }
public static Type GetContractType(OperationInfo operationInfo, ReceiveActivity contextActivity) { if (operationInfo == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("operationInfo"); } if (contextActivity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("contextActivity"); } if (string.IsNullOrEmpty(operationInfo.ContractName)) { return(null); } Activity rootActivity = contextActivity.RootActivity; Dictionary <string, ContractType> contractTypes = rootActivity.GetValue(DynamicContractTypeBuilder.DynamicContractTypesProperty) as Dictionary <string, ContractType>; if (contractTypes == null) { Activity definition = rootActivity.GetValue(Activity.WorkflowDefinitionProperty) as Activity; if (definition != null) { contractTypes = definition.GetValue(DynamicContractTypeBuilder.DynamicContractTypesProperty) as Dictionary <string, ContractType>; } if (contractTypes != null) { rootActivity.SetValue(DynamicContractTypeBuilder.DynamicContractTypesProperty, contractTypes); } } if (contractTypes == null) { contractTypes = BuildContractTypes(rootActivity); rootActivity.SetValue(DynamicContractTypeBuilder.DynamicContractTypesProperty, contractTypes); } if (contractTypes.ContainsKey(operationInfo.ContractName)) { return(contractTypes[operationInfo.ContractName]); } return(null); }
void container4() { //OperationInfo.Parameters //<snippet4> ReceiveActivity receive = new ReceiveActivity(); OperationInfo info = new OperationInfo(); info.Name = "Echo"; OperationParameterInfo parameterInfo = new OperationParameterInfo(); parameterInfo.Attributes = ((System.Reflection.ParameterAttributes)((System.Reflection.ParameterAttributes.Out | System.Reflection.ParameterAttributes.Retval))); parameterInfo.Name = "(ReturnValue)"; parameterInfo.ParameterType = typeof(string); parameterInfo.Position = -1; info.Parameters.Add(parameterInfo); receive.ServiceOperationInfo = info; //</snippet4> }
internal static void Register(ReceiveActivity activity, Guid workflowId) { if (activity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("activity"); } ContextToken contextToken = activity.ContextToken; if (contextToken == null) { RegisterRootReceiveContext(activity, workflowId); } else if (contextToken.IsRootContext) { RegisterRootReceiveContext(activity, workflowId); } else { RegisterReceiveContext(activity, workflowId, contextToken.Name, contextToken.OwnerActivityName); } }
static Dictionary <string, ContractType> BuildContractTypes(Activity contextActivity) { if (contextActivity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("contextActivity"); } Dictionary <string, ContractType> types = new Dictionary <string, ContractType>(); Walker walker = new Walker(true); walker.FoundActivity += delegate(Walker w, WalkerEventArgs args) { ReceiveActivity currentActivity = args.CurrentActivity as ReceiveActivity; if (currentActivity == null) { return; } OperationInfo operationInfo = currentActivity.ServiceOperationInfo as OperationInfo; if (operationInfo == null) { return; } if (string.IsNullOrEmpty(operationInfo.ContractName) || string.IsNullOrEmpty(operationInfo.Name)) { return; } if (!types.ContainsKey(operationInfo.ContractName)) { types.Add(operationInfo.ContractName, new ContractType(operationInfo.ContractName)); } bool hasReturnValue = false; bool duplicatedPositions = false; int maxPosition = -1; List <int> parameterIndexs = new List <int>(); foreach (OperationParameterInfo operationParameterInfo in operationInfo.Parameters) { if (operationParameterInfo.Position == -1) { hasReturnValue = true; } else { maxPosition = (maxPosition < operationParameterInfo.Position) ? operationParameterInfo.Position : maxPosition; } if (parameterIndexs.Contains(operationParameterInfo.Position)) { duplicatedPositions = true; break; } else { parameterIndexs.Add(operationParameterInfo.Position); } } if (duplicatedPositions || maxPosition > (operationInfo.Parameters.Count - (hasReturnValue ? 2 : 1))) { return; } ContractType contract = types[operationInfo.ContractName]; ContractMethodInfo methodInfo = new ContractMethodInfo(contract, operationInfo); }; walker.Walk(contextActivity); return(types); }
static bool MatchByOperation(ReceiveActivity source, ReceiveActivity target) { return MatchByOperation(source.ServiceOperationInfo, target.ServiceOperationInfo); }
static bool MatchByOperation(ReceiveActivity source, ReceiveActivity target) { return(MatchByOperation(source.ServiceOperationInfo, target.ServiceOperationInfo)); }
//ReceiveActivity.Context //<snippet17> // Create EndpointAddress from Uri and ReceiveActivity static public EndpointAddress CreateEndpointAddress(string uri, ReceiveActivity receiveActivity) { return(CreateEndpointAddress(uri, receiveActivity.Context)); }
public override ValidationErrorCollection Validate( ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); ReceiveActivity receiveActivity = obj as ReceiveActivity; if (receiveActivity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("obj", SR2.GetString(SR2.Error_ArgumentTypeInvalid, "obj", typeof(ReceiveActivity))); } ITypeProvider typeProvider = manager.GetService(typeof(ITypeProvider)) as ITypeProvider; if (typeProvider == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR2.GetString(SR2.General_MissingService, typeof(ITypeProvider).Name))); } if (receiveActivity.ServiceOperationInfo == null) { validationErrors.Add( new ValidationError( SR2.GetString(SR2.Error_Validation_OperationInfoNotSpecified, receiveActivity.Name), WorkflowServicesErrorNumbers.Error_OperationInfoNotSpecified, false, "ServiceOperationInfo")); } else { // validate operation info // ValidationErrorCollection operationInfoValidationErrors = ValidationHelper.ValidateOperationInfo( receiveActivity, receiveActivity.ServiceOperationInfo, manager); validationErrors.AddRange(operationInfoValidationErrors); // do not validate parameter binding if the operation info is not valid // we might generate noise and false positives. // if (operationInfoValidationErrors.Count == 0) { validationErrors.AddRange( ValidationHelper.ValidateParameterBindings(receiveActivity, receiveActivity.ServiceOperationInfo, receiveActivity.ParameterBindings, manager)); } // validate the context token // validationErrors.AddRange( ValidationHelper.ValidateContextToken(receiveActivity, receiveActivity.ContextToken, manager)); } // Check if the validation for all service operations being implemented // has been done previously. // If it has been done once then ServiceOperationsImplementedValidationMarker // will be on the context stack. // if (validationErrors.Count == 0 && manager.Context[typeof(ServiceOperationsImplementedValidationMarker)] == null) { Activity rootActivity = receiveActivity; while (rootActivity.Parent != null) { rootActivity = rootActivity.Parent; } validationErrors.AddRange( ValidationHelper.ValidateAllServiceOperationsImplemented( manager, rootActivity)); } return(validationErrors); }
static void RegisterReceiveContext(ReceiveActivity activity, Guid workflowId, string contextName, string ownerActivityName) { if (activity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("activity"); } if (string.IsNullOrEmpty(contextName)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("contextName", SR2.GetString(SR2.Error_ArgumentValueNullOrEmptyString)); } Activity contextActivity = activity.ContextActivity; Activity owner = null; if (contextActivity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException(SR2.GetString(SR2.Error_ContextOwnerActivityMissing))); } if (string.IsNullOrEmpty(ownerActivityName)) { owner = contextActivity.RootActivity; } else { while (contextActivity != null) { owner = contextActivity.GetActivityByName(ownerActivityName, true); if (owner != null) { break; } contextActivity = contextActivity.Parent; if (contextActivity != null) { contextActivity = contextActivity.ContextActivity; } } } if (owner == null) { owner = Helpers.ParseActivityForBind(activity, ownerActivityName); } if (owner == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException(SR2.GetString(SR2.Error_ContextOwnerActivityMissing))); } ReceiveContextCollection collection = owner.GetValue(ReceiveContextCollection.ReceiveContextCollectionProperty) as ReceiveContextCollection; if (collection == null) { collection = new ReceiveContextCollection(); owner.SetValue(ReceiveContextCollection.ReceiveContextCollectionProperty, collection); } if (!collection.Contains(contextName)) { collection.Add(new ReceiveContext(contextName, workflowId, false)); } }
// Create EndpointAddress from Uri and ReceiveActivity static public EndpointAddress CreateEndpointAddress(string uri, ReceiveActivity receiveActivity) { return CreateEndpointAddress(uri, receiveActivity.Context); }
public static bool TryPickOperation(IServiceProvider serviceProvider, Activity activity, OperationInfoBase currentOperation, out OperationInfoBase selectedOperation) { selectedOperation = null; bool isReceiveActivity = activity is ReceiveActivity; try { using (OperationPickerDialog operationPicker = new OperationPickerDialog(serviceProvider, isReceiveActivity)) { Walker activityTreeWalker = new Walker(); Type allowedActivityType = null; if (isReceiveActivity) { allowedActivityType = typeof(ReceiveActivity); } else { allowedActivityType = typeof(SendActivity); } activityTreeWalker.FoundActivity += delegate(Walker walker, WalkerEventArgs eventArgs) { Activity foundActivity = eventArgs.CurrentActivity; if (!(allowedActivityType.IsAssignableFrom(foundActivity.GetType()))) { return; } if (!foundActivity.Enabled) { return; } if (foundActivity is ReceiveActivity) { ReceiveActivity reciveActivity = foundActivity as ReceiveActivity; if (reciveActivity.ServiceOperationInfo != null) { operationPicker.AddServiceOperation(reciveActivity.ServiceOperationInfo, reciveActivity); } } if (foundActivity is SendActivity) { SendActivity sendActivity = foundActivity as SendActivity; if (sendActivity.ServiceOperationInfo != null) { operationPicker.AddServiceOperation(sendActivity.ServiceOperationInfo, sendActivity); } } }; activityTreeWalker.Walk(activity.RootActivity); OperationInfoBase currentServiceOperationInfo = currentOperation as OperationInfoBase; if (currentServiceOperationInfo != null) { operationPicker.SelectedOperation = currentServiceOperationInfo; } DialogResult dialogResult = operationPicker.ShowDialog(); if ((operationPicker.SelectedOperation != null) && (dialogResult == DialogResult.OK) && !operationPicker.SelectedOperation.Equals(currentServiceOperationInfo)) { selectedOperation = operationPicker.SelectedOperation.Clone(); return(true); } } } catch (Exception e) { DesignerHelpers.ShowMessage(serviceProvider, e.Message, DR.GetString(DR.WorkflowDesignerTitle), MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); throw; } return(false); }
private void InitializeComponent() { ReceiveActivity receiveActivity1 = new ReceiveActivity(); receiveActivity1.OperationValidation += new EventHandler <OperationValidationEventArgs>(receiveActivity1_OperationValidation); }