Skip to content
This repository has been archived by the owner on Jul 7, 2022. It is now read-only.

Commit

Permalink
old uncommited items
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonHaley committed May 1, 2018
1 parent 770c288 commit a8b7937
Show file tree
Hide file tree
Showing 8 changed files with 98 additions and 71 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -156,3 +156,4 @@ $RECYCLE.BIN/
distribution/
*_NCrunch_*
source/IdentityServer3.sln.GhostDoc.xml
/source/Redis.WebJobs.Extensions/.vs/Redis.WebJobs.Extensions/v15/Server/sqlite3
Expand Up @@ -14,26 +14,29 @@ public RedisValueBinder(RedisEntity entity)
{
_entity = entity;
}

public override Task<object> GetValueAsync()
public override object GetValue()
{
string value = _entity.GetAsync().Result;

if (value == null)
{
return Task.FromResult<object>(default(TInput));
return default(TInput);
}

TInput contents;
if (TryJsonConvert(value, out contents))
{
return Task.FromResult<object>(contents);
return contents;
}
else
{
return Task.FromResult<object>(value);
return value;
}
}
public override Task<object> GetValueAsync()
{
return Task.FromResult(GetValue());
}

public override string ToInvokeString()
{
Expand Down
12 changes: 6 additions & 6 deletions source/Redis.WebJobs.Extensions/Core/Core.csproj
Expand Up @@ -34,16 +34,16 @@
<HintPath>..\packages\Microsoft.Azure.KeyVault.Core.2.0.4\lib\net45\Microsoft.Azure.KeyVault.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.WebJobs.Core.2.0.0-beta2-10504\lib\net45\Microsoft.Azure.WebJobs.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Extensions, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.WebJobs.Extensions.2.0.0-beta2-10392\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Host, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.WebJobs.2.0.0-beta2-10504\lib\net45\Microsoft.Azure.WebJobs.Host.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Script.Extensibility, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Azure.WebJobs.Script.Extensibility.1.0.0-beta2-10726\lib\net45\Microsoft.Azure.WebJobs.Script.Extensibility.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.Host.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Data.Edm, Version=5.8.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Data.Edm.5.8.1\lib\net40\Microsoft.Data.Edm.dll</HintPath>
Expand Down
Expand Up @@ -25,7 +25,8 @@ public Type Type
{
get { return typeof(TInput); }
}


public abstract object GetValue();
public abstract Task<object> GetValueAsync();

/// <inheritdoc/>
Expand Down Expand Up @@ -54,5 +55,6 @@ protected bool TryJsonConvert(string message, out TInput contents)
return false;
}
}

}
}
Expand Up @@ -16,8 +16,10 @@ namespace Redis.WebJobs.Extensions.Triggers
{
internal class RedisTriggerBinding : ITriggerBinding
{
private readonly RedisTriggerAttribute _attribute;
private readonly ParameterInfo _parameter;
private readonly IBindingDataProvider _bindingDataProvider;
private readonly BindingDataProvider _bindingDataProvider;
private readonly IReadOnlyDictionary<string, Type> _bindingContract;
private readonly string _channelOrKey;
private readonly Mode _mode;
private readonly RedisConfiguration _config;
Expand All @@ -29,7 +31,10 @@ public RedisTriggerBinding(ParameterInfo parameter, string channelOrKey, Mode mo
_channelOrKey = channelOrKey;
_mode = mode;
_config = config;
_bindingDataProvider = BindingDataProvider.FromType(parameter.ParameterType);
//_bindingDataProvider = BindingDataProvider.FromType(parameter.ParameterType);
_attribute = parameter.GetCustomAttribute<RedisTriggerAttribute>(inherit: false);
_bindingDataProvider = BindingDataProvider.FromTemplate(_attribute.ChannelOrKey);
//_bindingContract = CreateBindingContract();
_trace = trace;
}

Expand All @@ -41,18 +46,34 @@ public RedisTriggerBinding(ParameterInfo parameter, string channelOrKey, Mode mo

public Mode Mode => _mode;

public async Task<ITriggerData> BindAsync(object value, ValueBindingContext context)
public Task<ITriggerData> BindAsync(object value, ValueBindingContext context)
{
IValueProvider provider = new JsonValueProvider(value, _parameter.ParameterType);

var providerVal = await provider.GetValueAsync();
var providerVal = provider.GetValue();
var bindingData = _bindingDataProvider?.GetBindingData(providerVal);

var result = new TriggerData(provider, bindingData);

return result;
return Task.FromResult< ITriggerData>(result);
}

//private IReadOnlyDictionary<string, Type> CreateBindingContract()
//{
// Dictionary<string, Type> contract = new Dictionary<string, Type>(StringComparer.OrdinalIgnoreCase);
// //contract.Add("FileTrigger", typeof(FileSystemEventArgs));

// if (_bindingDataProvider.Contract != null)
// {
// foreach (KeyValuePair<string, Type> item in _bindingDataProvider.Contract)
// {
// // In case of conflict, binding data from the value type overrides the built-in binding data above.
// contract[item.Key] = item.Value;
// }
// }

// return contract;
//}

public Task<IListener> CreateListenerAsync(ListenerFactoryContext context)
{
if (context == null)
Expand Down
Expand Up @@ -8,25 +8,25 @@ namespace SamplePublisher
public static class Functions
{
// PubSub Examples ***********************************************************************************
public static void SendSimplePubSubMessage([Redis("pubsub:simpleMessages", Mode.PubSub)] out string message, TextWriter log, TraceWriter trace)
{
message = "This is a test";
//public static void SendSimplePubSubMessage([Redis("pubsub:simpleMessages", Mode.PubSub)] out string message, TextWriter log, TraceWriter trace)
//{
// message = "This is a test";

log.WriteLine($"Sending message: {message}");
// log.WriteLine($"Sending message: {message}");

trace.Info($"New message sent SendSimplePubSubMessage(): {message}");
}
public static void SendPubSubMessage([Redis("pubsub:messages", Mode.PubSub)] out Message message, TextWriter log)
{
message = new Message
{
Text = "message #",
Sent = DateTime.UtcNow,
Id = Guid.Parse("bc3a6131-937c-4541-a0cf-27d49b96a5f2")
};
// trace.Info($"New message sent SendSimplePubSubMessage(): {message}");
//}
//public static void SendPubSubMessage([Redis("pubsub:messages", Mode.PubSub)] out Message message, TextWriter log)
//{
// message = new Message
// {
// Text = "message #",
// Sent = DateTime.UtcNow,
// Id = Guid.Parse("bc3a6131-937c-4541-a0cf-27d49b96a5f2")
// };

log.WriteLine($"Sending Message from SendPubSubMessage(): {message.Id}");
}
// log.WriteLine($"Sending Message from SendPubSubMessage(): {message.Id}");
//}

public static void SendPubSubMessageIdChannel([Redis("pubsub:messages:{Id}", Mode.PubSub)] out Message message, TextWriter log)
{
Expand All @@ -41,36 +41,36 @@ public static void SendPubSubMessageIdChannel([Redis("pubsub:messages:{Id}", Mod
}

// Cache Examples ***********************************************************************************
public static void AddSimpleCacheMessage([Redis("LastSimpleMessage", Mode.Cache)] out string message, TextWriter log)
{
message = "This is a test";
//public static void AddSimpleCacheMessage([Redis("LastSimpleMessage", Mode.Cache)] out string message, TextWriter log)
//{
// message = "This is a test";

log.WriteLine($"Adding Message to cache from AddSimpleCacheMessage(): {message}");
}
// log.WriteLine($"Adding Message to cache from AddSimpleCacheMessage(): {message}");
//}

public static void AddCacheLastMessage([Redis("LastMessage", Mode.Cache)] out Message message, TextWriter log)
{
message = new Message
{
Text = "message #",
Sent = DateTime.UtcNow,
Id = Guid.Parse("bc3a6131-937c-4541-a0cf-27d49b96a5f2")
};
//public static void AddCacheLastMessage([Redis("LastMessage", Mode.Cache)] out Message message, TextWriter log)
//{
// message = new Message
// {
// Text = "message #",
// Sent = DateTime.UtcNow,
// Id = Guid.Parse("bc3a6131-937c-4541-a0cf-27d49b96a5f2")
// };

log.WriteLine($"Adding Message to cache from AddCacheLastMessage(): {message.Id}");
}
// log.WriteLine($"Adding Message to cache from AddCacheLastMessage(): {message.Id}");
//}

public static void AddCacheMessage([Redis("LastMessage:{Id}", Mode.Cache)] out Message message, TextWriter log)
{
message = new Message
{
Text = "message #",
Sent = DateTime.UtcNow,
Id = Guid.Parse("bc3a6131-937c-4541-a0cf-27d49b96a5f2")
};
//public static void AddCacheMessage([Redis("LastMessage:{Id}", Mode.Cache)] out Message message, TextWriter log)
//{
// message = new Message
// {
// Text = "message #",
// Sent = DateTime.UtcNow,
// Id = Guid.Parse("bc3a6131-937c-4541-a0cf-27d49b96a5f2")
// };

log.WriteLine($"Adding Message to cache from AddCacheMessage(): {message.Id}");
}
// log.WriteLine($"Adding Message to cache from AddCacheMessage(): {message.Id}");
//}

public class Message
{
Expand Down
Expand Up @@ -37,16 +37,16 @@
<HintPath>..\..\packages\Microsoft.Azure.KeyVault.Core.2.0.4\lib\net45\Microsoft.Azure.KeyVault.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Core.2.0.0-beta2-10504\lib\net45\Microsoft.Azure.WebJobs.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Extensions, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.0.0-beta2-10392\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Host, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.2.0.0-beta2-10504\lib\net45\Microsoft.Azure.WebJobs.Host.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Script.Extensibility, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Script.Extensibility.1.0.0-beta2-10726\lib\net45\Microsoft.Azure.WebJobs.Script.Extensibility.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.Host.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Data.Edm, Version=5.8.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Data.Edm.5.8.1\lib\net40\Microsoft.Data.Edm.dll</HintPath>
Expand Down
Expand Up @@ -37,16 +37,16 @@
<HintPath>..\..\packages\Microsoft.Azure.KeyVault.Core.2.0.4\lib\net45\Microsoft.Azure.KeyVault.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Core.2.0.0-beta2-10504\lib\net45\Microsoft.Azure.WebJobs.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Extensions, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.0.0-beta2-10392\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.Extensions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Host, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.2.0.0-beta2-10504\lib\net45\Microsoft.Azure.WebJobs.Host.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Azure.WebJobs.Script.Extensibility, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Azure.WebJobs.Script.Extensibility.1.0.0-beta2-10726\lib\net45\Microsoft.Azure.WebJobs.Script.Extensibility.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\azure-webjobs-sdk-extensions\src\WebJobs.Extensions\bin\Debug\Microsoft.Azure.WebJobs.Host.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Data.Edm, Version=5.8.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Data.Edm.5.8.1\lib\net40\Microsoft.Data.Edm.dll</HintPath>
Expand Down

0 comments on commit a8b7937

Please sign in to comment.