diff --git a/.nuget/NuGet.Config b/.nuget/NuGet.Config
new file mode 100644
index 0000000..67f8ea0
--- /dev/null
+++ b/.nuget/NuGet.Config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe
new file mode 100644
index 0000000..8dd7e45
Binary files /dev/null and b/.nuget/NuGet.exe differ
diff --git a/.nuget/NuGet.targets b/.nuget/NuGet.targets
new file mode 100644
index 0000000..3f8c37b
--- /dev/null
+++ b/.nuget/NuGet.targets
@@ -0,0 +1,144 @@
+
+
+
+ $(MSBuildProjectDirectory)\..\
+
+
+ false
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+ $([System.IO.Path]::Combine($(SolutionDir), ".nuget"))
+
+
+
+
+ $(SolutionDir).nuget
+
+
+
+ $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config
+ $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config
+
+
+
+ $(MSBuildProjectDirectory)\packages.config
+ $(PackagesProjectConfig)
+
+
+
+
+ $(NuGetToolsPath)\NuGet.exe
+ @(PackageSource)
+
+ "$(NuGetExePath)"
+ mono --runtime=v4.0.30319 "$(NuGetExePath)"
+
+ $(TargetDir.Trim('\\'))
+
+ -RequireConsent
+ -NonInteractive
+
+ "$(SolutionDir) "
+ "$(SolutionDir)"
+
+
+ $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)
+ $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols
+
+
+
+ RestorePackages;
+ $(BuildDependsOn);
+
+
+
+
+ $(BuildDependsOn);
+ BuildPackage;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AzureNetQ.Tests.Messages/AzureNetQ.Tests.Messages.csproj b/AzureNetQ.Tests.Messages/AzureNetQ.Tests.Messages.csproj
index b16f5b8..ca6d120 100644
--- a/AzureNetQ.Tests.Messages/AzureNetQ.Tests.Messages.csproj
+++ b/AzureNetQ.Tests.Messages/AzureNetQ.Tests.Messages.csproj
@@ -9,7 +9,7 @@
Properties
AzureNetQ.Tests.Messages
AzureNetQ.Tests.Messages
- v4.0
+ v4.5
512
@@ -21,6 +21,7 @@
DEBUG;TRACE
prompt
4
+ false
pdbonly
@@ -29,6 +30,7 @@
TRACE
prompt
4
+ false
true
@@ -38,6 +40,7 @@
AnyCPU
prompt
MinimumRecommendedRules.ruleset
+ false
diff --git a/AzureNetQ.Tests.PublishSubscribe/App.config b/AzureNetQ.Tests.PublishSubscribe/App.config
index 74ade9d..d1428ad 100644
--- a/AzureNetQ.Tests.PublishSubscribe/App.config
+++ b/AzureNetQ.Tests.PublishSubscribe/App.config
@@ -1,6 +1,6 @@
-
+
diff --git a/AzureNetQ.Tests.PublishSubscribe/AzureNetQ.Tests.PublishSubscribe.csproj b/AzureNetQ.Tests.PublishSubscribe/AzureNetQ.Tests.PublishSubscribe.csproj
index b70da06..95cba44 100644
--- a/AzureNetQ.Tests.PublishSubscribe/AzureNetQ.Tests.PublishSubscribe.csproj
+++ b/AzureNetQ.Tests.PublishSubscribe/AzureNetQ.Tests.PublishSubscribe.csproj
@@ -9,7 +9,7 @@
Properties
AzureNetQ.Tests.PublishSubscribe
AzureNetQ.Tests.PublishSubscribe
- v4.0
+ v4.5
512
@@ -22,6 +22,7 @@
DEBUG;TRACE
prompt
4
+ false
AnyCPU
@@ -31,6 +32,7 @@
TRACE
prompt
4
+ false
diff --git a/AzureNetQ.Tests.PublishSubscribe/Program.cs b/AzureNetQ.Tests.PublishSubscribe/Program.cs
index d5f0bab..7d130d9 100644
--- a/AzureNetQ.Tests.PublishSubscribe/Program.cs
+++ b/AzureNetQ.Tests.PublishSubscribe/Program.cs
@@ -1,10 +1,9 @@
namespace AzureNetQ.Tests.PublishSubscribe
{
+ using AzureNetQ.NonGeneric;
using System;
using System.Threading.Tasks;
- using AzureNetQ.NonGeneric;
-
public class Program
{
private IBus bus;
@@ -21,7 +20,7 @@ private void Run()
this.bus.SubscribeAsync(
typeof(TestMessage),
obj => Task.Factory.StartNew(() => Console.WriteLine("Handler Received message: {0}", ((TestMessage)obj).Text)));
-
+
Console.WriteLine("Type a message or 'q' to quit.");
string text = null;
@@ -32,7 +31,8 @@ private void Run()
new TestMessage
{
Text = text
- });
+ },
+ DateTime.Now.AddMinutes(1));
}
this.bus.Dispose();
diff --git a/AzureNetQ.Tests.SimpleRequester/AzureNetQ.Tests.SimpleRequester.csproj b/AzureNetQ.Tests.SimpleRequester/AzureNetQ.Tests.SimpleRequester.csproj
index d02ea1c..56f104c 100644
--- a/AzureNetQ.Tests.SimpleRequester/AzureNetQ.Tests.SimpleRequester.csproj
+++ b/AzureNetQ.Tests.SimpleRequester/AzureNetQ.Tests.SimpleRequester.csproj
@@ -10,7 +10,7 @@
Properties
AzureNetQ.Tests.SimpleRequester
AzureNetQ.Tests.SimpleRequester
- v4.0
+ v4.5
512
@@ -23,6 +23,7 @@
AnyCPU
prompt
MinimumRecommendedRules.ruleset
+ false
bin\Release\
@@ -32,6 +33,7 @@
AnyCPU
prompt
MinimumRecommendedRules.ruleset
+ false
true
@@ -41,6 +43,7 @@
AnyCPU
prompt
MinimumRecommendedRules.ruleset
+ false
diff --git a/AzureNetQ.Tests.SimpleRequester/app.config b/AzureNetQ.Tests.SimpleRequester/app.config
index e857a98..b678d0a 100644
--- a/AzureNetQ.Tests.SimpleRequester/app.config
+++ b/AzureNetQ.Tests.SimpleRequester/app.config
@@ -1,10 +1,9 @@
-
+
-
+
diff --git a/AzureNetQ.Tests.SimpleService/AzureNetQ.Tests.SimpleService.csproj b/AzureNetQ.Tests.SimpleService/AzureNetQ.Tests.SimpleService.csproj
index d674cad..35a2264 100644
--- a/AzureNetQ.Tests.SimpleService/AzureNetQ.Tests.SimpleService.csproj
+++ b/AzureNetQ.Tests.SimpleService/AzureNetQ.Tests.SimpleService.csproj
@@ -10,7 +10,7 @@
Properties
AzureNetQ.Tests.SimpleService
AzureNetQ.Tests.SimpleService
- v4.0
+ v4.5
512
@@ -23,6 +23,7 @@
AnyCPU
prompt
MinimumRecommendedRules.ruleset
+ false
bin\Release\
@@ -32,6 +33,7 @@
AnyCPU
prompt
MinimumRecommendedRules.ruleset
+ false
true
@@ -41,6 +43,7 @@
AnyCPU
prompt
MinimumRecommendedRules.ruleset
+ false
diff --git a/AzureNetQ.Tests.SimpleService/app.config b/AzureNetQ.Tests.SimpleService/app.config
index beb93ea..0592fd1 100644
--- a/AzureNetQ.Tests.SimpleService/app.config
+++ b/AzureNetQ.Tests.SimpleService/app.config
@@ -1,10 +1,9 @@
-
+
-
+
diff --git a/AzureNetQ.nuspec b/AzureNetQ.nuspec
index 2e99124..ad3e422 100644
--- a/AzureNetQ.nuspec
+++ b/AzureNetQ.nuspec
@@ -1,19 +1,20 @@
-
- 0.2.0.1
+
+ Awesome.AzureNetQ
+ 0.3.0.0
Roysvork
Roysvork
- AzureNetQ
- AzureNetQ
+ Awesome.AzureNetQ
false
AzureNetQ is a client API for Microsoft Azure Service Bus & Service Bus for Windows on .NET
Pete Smith 2014
- http://roysvork.github.io/AzureNetQ
+ https://github.com/rykkart/AzureNetQ
https://github.com/roysvork/AzureNetQ/blob/master/licence.txt
-
-
+
+
+
diff --git a/AzureNetQ.sln b/AzureNetQ.sln
index 1ce3d45..1cd7922 100644
--- a/AzureNetQ.sln
+++ b/AzureNetQ.sln
@@ -1,12 +1,10 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
-VisualStudioVersion = 12.0.30501.0
+VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureNetQ", "AzureNetQ\AzureNetQ.csproj", "{B8DEF709-5168-48F1-B8D3-AD44E4A4A22B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureNetQ.Tests", "AzureNetQ.Tests\AzureNetQ.Tests.csproj", "{640DEC15-3A17-4E85-B38A-CFB379426DC2}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureNetQ.Tests.SimpleService", "AzureNetQ.Tests.SimpleService\AzureNetQ.Tests.SimpleService.csproj", "{D5166633-83A2-48FA-B534-C2EC9D9DE9C3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureNetQ.Tests.SimpleRequester", "AzureNetQ.Tests.SimpleRequester\AzureNetQ.Tests.SimpleRequester.csproj", "{5EDAA7BF-CD00-440C-9697-D24F7B37CFFA}"
@@ -17,6 +15,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureNetQ.Tests.SendReceive
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureNetQ.Tests.PublishSubscribe", "AzureNetQ.Tests.PublishSubscribe\AzureNetQ.Tests.PublishSubscribe.csproj", "{6D68DFA2-6271-4847-96FA-631AE49D2CCA}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F446715B-07DE-4A4E-B54A-A55FBC7658A6}"
+ ProjectSection(SolutionItems) = preProject
+ .nuget\NuGet.Config = .nuget\NuGet.Config
+ .nuget\NuGet.exe = .nuget\NuGet.exe
+ .nuget\NuGet.targets = .nuget\NuGet.targets
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -45,21 +50,6 @@ Global
{B8DEF709-5168-48F1-B8D3-AD44E4A4A22B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B8DEF709-5168-48F1-B8D3-AD44E4A4A22B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B8DEF709-5168-48F1-B8D3-AD44E4A4A22B}.Release|x86.ActiveCfg = Release|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Debug|x86.ActiveCfg = Debug|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.DebugCloud|Any CPU.ActiveCfg = DebugCloud|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.DebugCloud|Any CPU.Build.0 = DebugCloud|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.DebugCloud|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.DebugCloud|Mixed Platforms.Build.0 = Debug|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.DebugCloud|x86.ActiveCfg = DebugCloud|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Release|Any CPU.Build.0 = Release|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {640DEC15-3A17-4E85-B38A-CFB379426DC2}.Release|x86.ActiveCfg = Release|Any CPU
{D5166633-83A2-48FA-B534-C2EC9D9DE9C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5166633-83A2-48FA-B534-C2EC9D9DE9C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5166633-83A2-48FA-B534-C2EC9D9DE9C3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
diff --git a/AzureNetQ/AutoSubscribe/AutoSubscriber.cs b/AzureNetQ/AutoSubscribe/AutoSubscriber.cs
index 629ade8..6f73fed 100644
--- a/AzureNetQ/AutoSubscribe/AutoSubscriber.cs
+++ b/AzureNetQ/AutoSubscribe/AutoSubscriber.cs
@@ -1,13 +1,12 @@
namespace AzureNetQ.AutoSubscribe
{
+ using FluentConfiguration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
- using AzureNetQ.FluentConfiguration;
-
///
/// Lets you scan assemblies for implementations of so that
/// these will get registrered as subscribers in the bus.
@@ -174,13 +173,13 @@ protected void InvokeMethods(
var configuration =
new Action(c => configurationActions.ForEach(o => o(c)));
-
+
var dispatchDelegate =
Delegate.CreateDelegate(
subscriberTypeFromMessageTypeDelegate(subscriptionInfo.MessageType),
this.AutoSubscriberMessageDispatcher,
dispatchMethod);
-
+
var busSubscribeMethod = genericBusSubscribeMethod.MakeGenericMethod(subscriptionInfo.MessageType);
busSubscribeMethod.Invoke(this.Bus, new object[] { dispatchDelegate, configuration });
diff --git a/AzureNetQ/AzureBus.cs b/AzureNetQ/AzureBus.cs
index bc3a7b0..f20a689 100644
--- a/AzureNetQ/AzureBus.cs
+++ b/AzureNetQ/AzureBus.cs
@@ -1,15 +1,13 @@
namespace AzureNetQ
{
- using System;
- using System.Linq;
- using System.Threading;
- using System.Threading.Tasks;
-
using AzureNetQ.Consumer;
using AzureNetQ.FluentConfiguration;
using AzureNetQ.Producer;
-
using Microsoft.ServiceBus.Messaging;
+ using System;
+ using System.Linq;
+ using System.Threading;
+ using System.Threading.Tasks;
public class AzureBus : IBus
{
@@ -73,6 +71,13 @@ public void Publish(T message) where T : class
this.PublishAsync(message).Wait();
}
+ public void Publish(T message, DateTime scheduledEnqueueTime) where T : class
+ {
+ Preconditions.CheckNotNull(message, "message");
+
+ this.PublishAsync(message, scheduledEnqueueTime).Wait();
+ }
+
public void Publish(T message, string topic) where T : class
{
Preconditions.CheckNotNull(message, "message");
@@ -81,6 +86,14 @@ public void Publish(T message, string topic) where T : class
this.PublishAsync(message, topic).Wait();
}
+ public void Publish(T message, string topic, DateTime scheduledEnqueueTime) where T : class
+ {
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(topic, "topic");
+
+ this.PublishAsync(message, topic, scheduledEnqueueTime).Wait();
+ }
+
public void Publish(T message, Action configure) where T : class
{
Preconditions.CheckNotNull(message, "message");
@@ -89,6 +102,14 @@ public void Publish(T message, Action configure) where
this.PublishAsync(message, configure).Wait();
}
+ public void Publish(T message, Action configure, DateTime scheduledEnqueueTime) where T : class
+ {
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(configure, "configure");
+
+ this.PublishAsync(message, configure, scheduledEnqueueTime).Wait();
+ }
+
public void Publish(T message, string topic, Action configure) where T : class
{
Preconditions.CheckNotNull(message, "message");
@@ -98,6 +119,15 @@ public void Publish(T message, string topic, Action co
this.PublishAsync(message, topic, configure).Wait();
}
+ public void Publish(T message, string topic, Action configure, DateTime scheduledEnqueueTime) where T : class
+ {
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(topic, "topic");
+ Preconditions.CheckNotNull(configure, "configure");
+
+ this.PublishAsync(message, topic, configure, scheduledEnqueueTime).Wait();
+ }
+
public void Publish(Type type, object message)
{
Preconditions.CheckNotNull(type, "type");
@@ -106,6 +136,14 @@ public void Publish(Type type, object message)
this.PublishAsync(type, message, x => { }).Wait();
}
+ public void Publish(Type type, object message, DateTime scheduledEnqueueTime)
+ {
+ Preconditions.CheckNotNull(type, "type");
+ Preconditions.CheckNotNull(message, "message");
+
+ this.PublishAsync(type, message, x => { }, scheduledEnqueueTime).Wait();
+ }
+
public void Publish(Type type, object message, string topic)
{
Preconditions.CheckNotNull(type, "type");
@@ -115,6 +153,15 @@ public void Publish(Type type, object message, string topic)
this.PublishAsync(type, message, topic, x => { }).Wait();
}
+ public void Publish(Type type, object message, string topic, DateTime scheduledEnqueueTime)
+ {
+ Preconditions.CheckNotNull(type, "type");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(topic, "topic");
+
+ this.PublishAsync(type, message, topic, x => { }, scheduledEnqueueTime).Wait();
+ }
+
public void Publish(Type type, object message, Action configure)
{
Preconditions.CheckNotNull(type, "type");
@@ -124,6 +171,15 @@ public void Publish(Type type, object message, Action con
this.PublishAsync(type, message, configure).Wait();
}
+ public void Publish(Type type, object message, Action configure, DateTime scheduledEnqueueTime)
+ {
+ Preconditions.CheckNotNull(type, "type");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(configure, "configure");
+
+ this.PublishAsync(type, message, configure, scheduledEnqueueTime).Wait();
+ }
+
public void Publish(Type type, object message, string topic, Action configure)
{
Preconditions.CheckNotNull(type, "type");
@@ -134,6 +190,16 @@ public void Publish(Type type, object message, string topic, Action configure, DateTime scheduledEnqueueTime)
+ {
+ Preconditions.CheckNotNull(type, "type");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(topic, "topic");
+ Preconditions.CheckNotNull(configure, "configure");
+
+ this.PublishAsync(type, message, topic, configure, scheduledEnqueueTime).Wait();
+ }
+
public Task PublishAsync(T message) where T : class
{
Preconditions.CheckNotNull(message, "message");
@@ -141,6 +207,13 @@ public Task PublishAsync(T message) where T : class
return this.PublishAsync(message, x => { });
}
+ public Task PublishAsync(T message, DateTime scheduledEnqueueTime) where T : class
+ {
+ Preconditions.CheckNotNull(message, "message");
+
+ return this.PublishAsync(message, x => { }, scheduledEnqueueTime);
+ }
+
public Task PublishAsync(T message, string topic) where T : class
{
Preconditions.CheckNotNull(message, "message");
@@ -149,6 +222,14 @@ public Task PublishAsync(T message, string topic) where T : class
return this.PublishAsync(message, topic, x => { });
}
+ public Task PublishAsync(T message, string topic, DateTime scheduledEnqueueTime) where T : class
+ {
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(topic, "topic");
+
+ return this.PublishAsync(message, topic, x => { }, scheduledEnqueueTime);
+ }
+
public Task PublishAsync(T message, Action configure) where T : class
{
Preconditions.CheckNotNull(message, "message");
@@ -157,6 +238,14 @@ public Task PublishAsync(T message, Action configure)
return this.PublishAsync(typeof(T), message, configure);
}
+ public Task PublishAsync(T message, Action configure, DateTime scheduledEnqueueTime) where T : class
+ {
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(configure, "configure");
+
+ return this.PublishAsync(typeof(T), message, configure, scheduledEnqueueTime);
+ }
+
public Task PublishAsync(T message, string topic, Action configure) where T : class
{
Preconditions.CheckNotNull(message, "message");
@@ -166,6 +255,15 @@ public Task PublishAsync(T message, string topic, Action(T message, string topic, Action configure, DateTime scheduledEnqueueTime) where T : class
+ {
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(topic, "topic");
+ Preconditions.CheckNotNull(configure, "configure");
+
+ return this.PublishAsync(typeof(T), message, topic, configure, scheduledEnqueueTime);
+ }
+
public Task PublishAsync(Type type, object message)
{
Preconditions.CheckNotNull(type, "type");
@@ -174,6 +272,14 @@ public Task PublishAsync(Type type, object message)
return this.PublishAsync(type, message, x => { });
}
+ public Task PublishAsync(Type type, object message, DateTime scheduledEnqueueTime)
+ {
+ Preconditions.CheckNotNull(type, "type");
+ Preconditions.CheckNotNull(message, "message");
+
+ return this.PublishAsync(type, message, x => { }, scheduledEnqueueTime);
+ }
+
public Task PublishAsync(Type type, object message, string topic)
{
Preconditions.CheckNotNull(type, "type");
@@ -183,6 +289,15 @@ public Task PublishAsync(Type type, object message, string topic)
return this.PublishAsync(type, message, topic, x => { });
}
+ public Task PublishAsync(Type type, object message, string topic, DateTime scheduledEnqueueTime)
+ {
+ Preconditions.CheckNotNull(type, "type");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(topic, "topic");
+
+ return this.PublishAsync(type, message, topic, x => { }, scheduledEnqueueTime);
+ }
+
public Task PublishAsync(Type type, object message, Action configure)
{
Preconditions.CheckNotNull(type, "type");
@@ -192,11 +307,28 @@ public Task PublishAsync(Type type, object message, Action configure, DateTime scheduledEnqueueTime)
+ {
+ Preconditions.CheckNotNull(type, "type");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(configure, "configure");
+
+ return this.PublishAsync(type, message, this.conventions.TopicNamingConvention(type), configure, scheduledEnqueueTime);
+ }
+
public Task PublishAsync(Type type, object message, string topicName, Action configure)
{
Preconditions.CheckNotNull(message, "message");
Preconditions.CheckNotNull(configure, "configure");
+ return this.PublishAsync(type, message, topicName, configure, DateTime.Now);
+ }
+
+ public Task PublishAsync(Type type, object message, string topicName, Action configure, DateTime scheduledEnqueueTime)
+ {
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(configure, "configure");
+
var queueName = this.conventions.QueueNamingConvention(type);
var queue = this.advancedBus.TopicFind(queueName);
@@ -214,6 +346,8 @@ public Task PublishAsync(Type type, object message, string topicName, Action(Func onMessage, Action
- {
- this.InfoWrite(
- queueName,
- message.MessageId,
- string.Format("Received message on subscription {0}", configuration.Subscription));
+ {
+ this.InfoWrite(
+ queueName,
+ message.MessageId,
+ string.Format("Received message on subscription {0}", configuration.Subscription));
T messageBody;
try
@@ -324,7 +458,7 @@ public virtual void SubscribeAsync(Func onMessage, Action(Func onMessage, ActionProperties
AzureNetQ
AzureNetQ
- v4.0
+ v4.5
512
@@ -50,15 +50,17 @@
-
- ..\packages\ServiceBus.v1_1.1.0.3.0\lib\net40-full\Microsoft.ServiceBus.dll
+
+ ..\packages\WindowsAzure.ServiceBus.3.1.4\lib\net45-full\Microsoft.ServiceBus.dll
+ True
-
- ..\packages\Microsoft.WindowsAzure.ConfigurationManager.2.0.0.0\lib\net40\Microsoft.WindowsAzure.Configuration.dll
+
+ ..\packages\Microsoft.WindowsAzure.ConfigurationManager.3.2.1\lib\net40\Microsoft.WindowsAzure.Configuration.dll
+ True
-
- False
- ..\packages\Newtonsoft.Json.6.0.3\lib\net40\Newtonsoft.Json.dll
+
+ ..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll
+ True
@@ -121,8 +123,12 @@
-
-
+
+ Designer
+
+
+ Designer
+
diff --git a/AzureNetQ/IBus.cs b/AzureNetQ/IBus.cs
index e0d39c3..d5fe6b5 100644
--- a/AzureNetQ/IBus.cs
+++ b/AzureNetQ/IBus.cs
@@ -1,11 +1,10 @@
namespace AzureNetQ
{
+ using Consumer;
+ using FluentConfiguration;
using System;
using System.Threading.Tasks;
- using AzureNetQ.Consumer;
- using AzureNetQ.FluentConfiguration;
-
///
/// Provides a simple Publish/Subscribe and Request/Response API for a message bus.
///
@@ -17,36 +16,68 @@ public interface IBus : IDisposable
void Publish(T message) where T : class;
+ void Publish(T message, DateTime scheduledEnqueueTime) where T : class;
+
void Publish(T message, string topic) where T : class;
+ void Publish(T message, string topic, DateTime scheduledEnqueueTime) where T : class;
+
void Publish(T message, Action configure) where T : class;
+ void Publish(T message, Action configure, DateTime scheduledEnqueueTime) where T : class;
+
void Publish(T message, string topic, Action configure) where T : class;
+ void Publish(T message, string topic, Action configure, DateTime scheduledEnqueueTime) where T : class;
+
void Publish(Type type, object message);
+ void Publish(Type type, object message, DateTime scheduledEnqueueTime);
+
void Publish(Type type, object message, string topic);
+ void Publish(Type type, object message, string topic, DateTime scheduledEnqueueTime);
+
void Publish(Type type, object message, Action configure);
+ void Publish(Type type, object message, Action configure, DateTime scheduledEnqueueTime);
+
void Publish(Type type, object message, string topic, Action configure);
+ void Publish(Type type, object message, string topic, Action configure, DateTime scheduledEnqueueTime);
+
Task PublishAsync(T message) where T : class;
+ Task PublishAsync(T message, DateTime scheduledEnqueueTime) where T : class;
+
Task PublishAsync(T message, string topic) where T : class;
+ Task PublishAsync(T message, string topic, DateTime scheduledEnqueueTime) where T : class;
+
Task PublishAsync(T message, Action configure) where T : class;
+ Task PublishAsync(T message, Action configure, DateTime scheduledEnqueueTime) where T : class;
+
Task PublishAsync(T message, string topic, Action configure) where T : class;
+ Task PublishAsync(T message, string topic, Action configure, DateTime scheduledEnqueueTime) where T : class;
+
Task PublishAsync(Type type, object message);
+ Task PublishAsync(Type type, object message, DateTime scheduledEnqueueTime);
+
Task PublishAsync(Type type, object message, string topic);
+ Task PublishAsync(Type type, object message, string topic, DateTime scheduledEnqueueTime);
+
Task PublishAsync(Type type, object message, Action configure);
+ Task PublishAsync(Type type, object message, Action configure, DateTime scheduledEnqueueTime);
+
Task PublishAsync(Type type, object message, string topicName, Action configure);
+ Task PublishAsync(Type type, object message, string topicName, Action configure, DateTime scheduledEnqueueTime);
+
void Subscribe(Action onMessage) where T : class;
void Subscribe(Action onMessage, Action configure) where T : class;
diff --git a/AzureNetQ/Properties/AssemblyInfo.cs b/AzureNetQ/Properties/AssemblyInfo.cs
index 0535036..7e594f4 100644
--- a/AzureNetQ/Properties/AssemblyInfo.cs
+++ b/AzureNetQ/Properties/AssemblyInfo.cs
@@ -21,5 +21,5 @@
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("a306e985-0fcf-4cc6-a1a3-d57214d1ea40")]
-[assembly: AssemblyVersionAttribute("0.2.0.*")]
-[assembly: AssemblyFileVersionAttribute("0.2.0.1")]
+[assembly: AssemblyVersionAttribute("0.3.0.*")]
+[assembly: AssemblyFileVersionAttribute("0.3.0.1")]
diff --git a/AzureNetQ/app.config b/AzureNetQ/app.config
index 8ea1624..87d7e29 100644
--- a/AzureNetQ/app.config
+++ b/AzureNetQ/app.config
@@ -1,32 +1,7 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/AzureNetQ/packages.config b/AzureNetQ/packages.config
index 805dba0..6f63b0b 100644
--- a/AzureNetQ/packages.config
+++ b/AzureNetQ/packages.config
@@ -1,6 +1,6 @@
-
-
-
+
+
+
\ No newline at end of file