/// <summary>
 /// Creates a new execution context using the specified arguments.
 /// </summary>
 /// <param name="queueProvider">Named queue provider object</param>
 /// <param name="properties">Dictionary of properties</param>
 public DefaultTaskExecutionContext(INamedQueueProvider queueProvider, IDictionary <string, object> properties = null)
 {
     _queueProvider = queueProvider;
     if (properties != null)
     {
         _properties = new Dictionary <string, object>(properties);
     }
 }
 /// <summary>
 /// Creates a new execution context using the specified settings.
 /// </summary>
 /// <param name="settings">Context settings</param>
 public DefaultTaskExecutionContext(TaskExecutionContextSettings settings)
 {
     _queueProvider = ResourceConnectionFactory.CreateResourceConnection <INamedQueueProvider>(settings.ProviderKey);
     _properties    = new Dictionary <string, object>();
     foreach (var property in settings.Properties.Values)
     {
         var value = Convert.ChangeType(property.Value, property.Type, CultureInfo.InvariantCulture);
         _properties.Add(property.Name, value);
     }
 }