Skip to content

Commit 4eeda79

Browse files
Add snippets and partial updates for connectivity and custom retry policy options in ASB
1 parent 76282d9 commit 4eeda79

14 files changed

+197
-7
lines changed

Snippets/ASBS/ASBS_1.9/Usage.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Security.Cryptography;
33
using System.Text;
44
using NServiceBus;
5+
using Microsoft.Azure.ServiceBus;
56

67
class Usage
78
{
@@ -45,5 +46,18 @@ string HashName(string input)
4546
transport.SubscriptionRuleNamingConvention(t => t.FullName.Length > MaxEntityName ? HashName(t.FullName) : t.FullName);
4647

4748
#endregion
49+
50+
#region azure-service-bus-usewebsockets
51+
transport.UseWebSockets();
52+
#endregion
53+
54+
#region azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
55+
transport.TimeToWaitBeforeTriggeringCircuitBreaker(TimeSpan.FromMinutes(2));
56+
#endregion
57+
58+
#region azure-service-bus-RetryPolicyOptions
59+
var azureAsbRetryOptions = new Microsoft.Azure.ServiceBus.RetryExponential(new TimeSpan(0, 0, 1), TimeSpan.FromMinutes(5), 10);
60+
transport.CustomRetryPolicy(azureAsbRetryOptions);
61+
#endregion
4862
}
4963
}

Snippets/ASBS/ASBS_1/Usage.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Security.Cryptography;
33
using System.Text;
4+
using Microsoft.Azure.ServiceBus;
45
using NServiceBus;
56

67
class Usage
@@ -45,5 +46,18 @@ string HashName(string input)
4546
transport.RuleNameShortener(n => n.Length > MaxEntityName ? HashName(n) : n);
4647

4748
#endregion
49+
50+
#region azure-service-bus-usewebsockets
51+
transport.UseWebSockets();
52+
#endregion
53+
54+
#region azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
55+
transport.TimeToWaitBeforeTriggeringCircuitBreaker(TimeSpan.FromMinutes(2));
56+
#endregion
57+
58+
#region azure-service-bus-RetryPolicyOptions
59+
var azureAsbRetryOptions = new Microsoft.Azure.ServiceBus.RetryExponential(new TimeSpan(0, 0, 1), TimeSpan.FromMinutes(5), 10);
60+
transport.CustomRetryPolicy(azureAsbRetryOptions);
61+
#endregion
4862
}
4963
}

Snippets/ASBS/ASBS_2/Usage.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Security.Cryptography;
33
using System.Text;
4+
using Azure.Messaging.ServiceBus;
45
using NServiceBus;
56

67
class Usage
@@ -45,5 +46,24 @@ string HashName(string input)
4546
transport.SubscriptionRuleNamingConvention(t => t.FullName.Length > MaxEntityName ? HashName(t.FullName) : t.FullName);
4647

4748
#endregion
49+
50+
#region azure-service-bus-usewebsockets
51+
transport.UseWebSockets();
52+
#endregion
53+
54+
#region azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
55+
transport.TimeToWaitBeforeTriggeringCircuitBreaker(TimeSpan.FromMinutes(2));
56+
#endregion
57+
58+
#region azure-service-bus-RetryPolicyOptions
59+
var azureAsbRetryOptions = new Azure.Messaging.ServiceBus.ServiceBusRetryOptions
60+
{
61+
Mode = Azure.Messaging.ServiceBus.ServiceBusRetryMode.Exponential,
62+
MaxRetries = 5,
63+
Delay = TimeSpan.FromSeconds(0.8),
64+
MaxDelay = TimeSpan.FromSeconds(15)
65+
};
66+
transport.CustomRetryPolicy(azureAsbRetryOptions);
67+
#endregion
4868
}
4969
}

Snippets/ASBS/ASBS_3.2/Usage.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Security.Cryptography;
33
using System.Text;
44
using Azure.Identity;
5+
using Azure.Messaging.ServiceBus;
56
using NServiceBus;
67

78
class Usage
@@ -77,5 +78,28 @@ string HashName(string input)
7778
transport.SubscriptionRuleNamingConvention = n => n.FullName.Length > MaxEntityName ? HashName(n.FullName) : n.FullName;
7879

7980
#endregion
81+
82+
#region azure-service-bus-usewebsockets
83+
transport.UseWebSockets = true;
84+
#endregion
85+
86+
#region azure-service-bus-websockets-proxy
87+
transport.WebProxy = new System.Net.WebProxy("http://myproxy:8080");
88+
#endregion
89+
90+
#region azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
91+
transport.TimeToWaitBeforeTriggeringCircuitBreaker = TimeSpan.FromMinutes(2);
92+
#endregion
93+
94+
#region azure-service-bus-RetryPolicyOptions
95+
var azureAsbRetryOptions = new Azure.Messaging.ServiceBus.ServiceBusRetryOptions
96+
{
97+
Mode = Azure.Messaging.ServiceBus.ServiceBusRetryMode.Exponential,
98+
MaxRetries = 5,
99+
Delay = TimeSpan.FromSeconds(0.8),
100+
MaxDelay = TimeSpan.FromSeconds(15)
101+
};
102+
transport.RetryPolicyOptions = azureAsbRetryOptions;
103+
#endregion
80104
}
81105
}

Snippets/ASBS/ASBS_3/Usage.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Security.Cryptography;
33
using System.Text;
44
using Azure.Identity;
5+
using Azure.Messaging.ServiceBus;
56
using NServiceBus;
67

78
class Usage
@@ -77,5 +78,28 @@ string HashName(string input)
7778
transport.SubscriptionRuleNamingConvention = n => n.FullName.Length > MaxEntityName ? HashName(n.FullName) : n.FullName;
7879

7980
#endregion
81+
82+
#region azure-service-bus-usewebsockets
83+
transport.UseWebSockets = true;
84+
#endregion
85+
86+
#region azure-service-bus-websockets-proxy
87+
transport.WebProxy = new System.Net.WebProxy("http://myproxy:8080");
88+
#endregion
89+
90+
#region azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
91+
transport.TimeToWaitBeforeTriggeringCircuitBreaker = TimeSpan.FromMinutes(2);
92+
#endregion
93+
94+
#region azure-service-bus-RetryPolicyOptions
95+
var azureAsbRetryOptions = new Azure.Messaging.ServiceBus.ServiceBusRetryOptions
96+
{
97+
Mode = Azure.Messaging.ServiceBus.ServiceBusRetryMode.Exponential,
98+
MaxRetries = 5,
99+
Delay = TimeSpan.FromSeconds(0.8),
100+
MaxDelay = TimeSpan.FromSeconds(15)
101+
};
102+
transport.RetryPolicyOptions = azureAsbRetryOptions;
103+
#endregion
80104
}
81105
}

Snippets/ASBS/ASBS_4/Usage.cs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
using System;
22
using System.Security.Cryptography;
33
using System.Text;
4-
54
using Azure.Identity;
6-
75
using NServiceBus;
6+
using Azure.Messaging.ServiceBus;
87

98
class Usage
109
{
@@ -77,5 +76,28 @@ string HashName(string input)
7776
transport.SubscriptionRuleNamingConvention = n => n.FullName.Length > MaxEntityName ? HashName(n.FullName) : n.FullName;
7877

7978
#endregion
79+
80+
#region azure-service-bus-usewebsockets
81+
transport.UseWebSockets = true;
82+
#endregion
83+
84+
#region azure-service-bus-websockets-proxy
85+
transport.WebProxy = new System.Net.WebProxy("http://myproxy:8080");
86+
#endregion
87+
88+
#region azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
89+
transport.TimeToWaitBeforeTriggeringCircuitBreaker = TimeSpan.FromMinutes(2);
90+
#endregion
91+
92+
#region azure-service-bus-RetryPolicyOptions
93+
var azureAsbRetryOptions = new Azure.Messaging.ServiceBus.ServiceBusRetryOptions
94+
{
95+
Mode = Azure.Messaging.ServiceBus.ServiceBusRetryMode.Exponential,
96+
MaxRetries = 5,
97+
Delay = TimeSpan.FromSeconds(0.8),
98+
MaxDelay = TimeSpan.FromSeconds(15)
99+
};
100+
transport.RetryPolicyOptions = azureAsbRetryOptions;
101+
#endregion
80102
}
81103
}

Snippets/ASBS/ASBS_5/Usage.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,29 @@ class Usage
107107
}
108108
};
109109
#endregion
110+
111+
#region azure-service-bus-usewebsockets
112+
transport.UseWebSockets = true;
113+
#endregion
114+
115+
#region azure-service-bus-websockets-proxy
116+
transport.WebProxy = new System.Net.WebProxy("http://myproxy:8080");
117+
#endregion
118+
119+
#region azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
120+
transport.TimeToWaitBeforeTriggeringCircuitBreaker = TimeSpan.FromMinutes(2);
121+
#endregion
122+
123+
#region azure-service-bus-RetryPolicyOptions
124+
var azureAsbRetryOptions = new Azure.Messaging.ServiceBus.ServiceBusRetryOptions
125+
{
126+
Mode = Azure.Messaging.ServiceBus.ServiceBusRetryMode.Exponential,
127+
MaxRetries = 5,
128+
Delay = TimeSpan.FromSeconds(0.8),
129+
MaxDelay = TimeSpan.FromSeconds(15)
130+
};
131+
transport.RetryPolicyOptions = azureAsbRetryOptions;
132+
#endregion
110133
}
111134

112135
class MyEvent;

Snippets/ASBS/ASBS_6/Usage.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using NServiceBus.Transport;
77
using NServiceBus.Transport.AzureServiceBus;
88
using Shipping;
9+
using Azure.Messaging.ServiceBus;
910

1011
class Usage
1112
{
@@ -106,6 +107,29 @@ class Usage
106107
}
107108
};
108109
#endregion
110+
111+
#region azure-service-bus-usewebsockets
112+
transport.UseWebSockets = true;
113+
#endregion
114+
115+
#region azure-service-bus-websockets-proxy
116+
transport.WebProxy = new System.Net.WebProxy("http://myproxy:8080");
117+
#endregion
118+
119+
#region azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
120+
transport.TimeToWaitBeforeTriggeringCircuitBreaker = TimeSpan.FromMinutes(2);
121+
#endregion
122+
123+
#region azure-service-bus-RetryPolicyOptions
124+
var azureAsbRetryOptions = new Azure.Messaging.ServiceBus.ServiceBusRetryOptions
125+
{
126+
Mode = Azure.Messaging.ServiceBus.ServiceBusRetryMode.Exponential,
127+
MaxRetries = 5,
128+
Delay = TimeSpan.FromSeconds(0.8),
129+
MaxDelay = TimeSpan.FromSeconds(15)
130+
};
131+
transport.RetryPolicyOptions = azureAsbRetryOptions;
132+
#endregion
109133
}
110134

111135
class MyEvent;
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
### Transport
22

33
* `UseWebSockets()`: Configures the transport to use AMQP over websockets.
4-
* `TimeToWaitBeforeTriggeringCircuitBreaker(TimeSpan)`: The time to wait before triggering the circuit breaker after a critical error occurred. Defaults to 2 minutes.
4+
5+
snippet: azure-service-bus-usewebsockets
6+
7+
* `TimeToWaitBeforeTriggeringCircuitBreaker(TimeSpan)`: The time to wait before triggering the circuit breaker after a critical error occurred. Defaults to 2 minutes.
8+
9+
snippet: azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
### Transport
22

33
* `UseWebSockets`: Configures the transport to use AMQP over websockets.
4+
5+
snippet: azure-service-bus-usewebsockets
6+
47
* `WebProxy`: Configures an optional web-proxy to use with AMQP over websockets.
5-
* `TimeToWaitBeforeTriggeringCircuitBreaker`: The time to wait before triggering the circuit breaker after a critical error occurred. Defaults to 2 minutes.
8+
9+
snippet: azure-service-bus-websockets-proxy
10+
11+
* `TimeToWaitBeforeTriggeringCircuitBreaker`: The time to wait before triggering the circuit breaker after a critical error occurred. Defaults to 2 minutes.
12+
13+
snippet: azure-service-bus-TimeToWaitBeforeTriggeringCircuitBreaker

0 commit comments

Comments
 (0)