Skip to content

Commit c4d1162

Browse files
author
shlomii
committed
Merge branch '3.2.7'
2 parents 486eb27 + 9368a99 commit c4d1162

File tree

143 files changed

+3561
-9443
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+3561
-9443
lines changed

Samples/AsyncPages/Server/CommandMessageHandler.cs

+8-4
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,22 @@ namespace Server
77
{
88
public class CommandMessageHandler : IHandleMessages<Command>
99
{
10-
public IBus Bus { get; set; }
11-
10+
11+
/// <summary>
12+
/// The handler is using the new IHandleMessages&lt;T&gt; extension method of the Bus().
13+
/// Hence, there is no need to declare on a IBus interface property to be injected.
14+
/// </summary>
15+
/// <param name="message"></param>
1216
public void Handle(Command message)
1317
{
1418
Console.WriteLine("======================================================================");
1519

1620
Thread.Sleep(TimeSpan.FromSeconds(1));
1721

1822
if (message.Id % 2 == 0)
19-
Bus.Return(ErrorCodes.Fail);
23+
this.Bus().Return(ErrorCodes.Fail);
2024
else
21-
Bus.Return(ErrorCodes.None);
25+
this.Bus().Return(ErrorCodes.None);
2226
}
2327
}
2428
}

Samples/AsyncPages/WebApplication1/Global.asax.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class Global : HttpApplication
1010

1111
protected void Application_Start(object sender, EventArgs e)
1212
{
13-
Bus = NServiceBus.Configure.WithWeb()
13+
Bus = Configure.With()
1414
.Log4Net()
1515
.DefaultBuilder()
1616
.XmlSerializer()

Samples/Azure/AzurePubSub/AzurePubSub.ccproj

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
<PropertyGroup>
55
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
66
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7-
<ProductVersion>1.6</ProductVersion>
7+
<ProductVersion>1.7</ProductVersion>
88
<ProjectGuid>{adcfc6b6-8bf7-4d56-b6a4-f6d221111666}</ProjectGuid>
99
<OutputType>Library</OutputType>
1010
<AppDesignerFolder>Properties</AppDesignerFolder>
1111
<RootNamespace>AzureService</RootNamespace>
1212
<AssemblyName>AzureService</AssemblyName>
1313
<StartDevelopmentStorage>True</StartDevelopmentStorage>
1414
<Name>AzureService</Name>
15+
<UseIISExpressByDefault>False</UseIISExpressByDefault>
1516
</PropertyGroup>
1617
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1718
<DebugSymbols>true</DebugSymbols>
@@ -54,7 +55,7 @@
5455
<!-- Import the target files for this project template -->
5556
<PropertyGroup>
5657
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
57-
<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\1.6\</CloudExtensionsDir>
58+
<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\1.7\</CloudExtensionsDir>
5859
</PropertyGroup>
5960
<Import Project="$(CloudExtensionsDir)Microsoft.WindowsAzure.targets" />
6061
<!--PropertyGroup>

Samples/Azure/AzurePubSub/OrderService/App.config

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
<system.diagnostics>
44
<trace autoflush="false" indentsize="4">
55
<listeners>
6-
<add name="AzureDiagnostics" type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
6+
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
7+
name="AzureDiagnostics">
8+
<filter type="" />
9+
</add>
710
</listeners>
811
</trace>
912
</system.diagnostics>

Samples/Azure/AzurePubSub/ServiceConfiguration.cscfg

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
<?xml version="1.0"?>
2-
<ServiceConfiguration serviceName="AzureService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ServiceConfiguration serviceName="AzureService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" schemaVersion="2012-05.1.7">
33
<Role name="OrderWebSite">
44
<Instances count="2" />
55
<ConfigurationSettings>
66
<Setting name="AzureQueueConfig.ConnectionString" value="UseDevelopmentStorage=true" />
77
<Setting name="AzureQueueConfig.QueueName" value="orderwebsiteinputqueue" />
8-
98
<Setting name="AzureSubscriptionStorageConfig.ConnectionString" value="UseDevelopmentStorage=true" />
109
<Setting name="Diagnostics.Level" value="Verbose" />
1110
<Setting name="Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
12-
<Setting name="MessageForwardingInCaseOfFaultConfig.ErrorQueue" value="errorqueue" />
11+
<Setting name="MessageForwardingInCaseOfFaultConfig.ErrorQueue" value="errorqueue" />
1312
<Setting name="MsmqTransportConfig.NumberOfWorkerThreads" value="1" />
1413
<Setting name="MsmqTransportConfig.MaxRetries" value="5" />
1514
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
@@ -26,13 +25,12 @@
2625
<ConfigurationSettings>
2726
<Setting name="AzureQueueConfig.ConnectionString" value="UseDevelopmentStorage=true" />
2827
<Setting name="AzureQueueConfig.QueueName" value="orderserviceinputqueue" />
29-
3028
<Setting name="AzureProfileConfig.Profiles" value="NServiceBus.Production NServiceBus.OnAzureTableStorage NServiceBus.WithAzureStorageQueues" />
3129
<Setting name="AzureSubscriptionStorageConfig.ConnectionString" value="UseDevelopmentStorage=true" />
3230
<Setting name="Diagnostics.Level" value="Verbose" />
3331
<Setting name="Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
3432
<Setting name="UnicastBusConfig.LocalAddress" value="orderserviceinputqueue" />
35-
<Setting name="MessageForwardingInCaseOfFaultConfig.ErrorQueue" value="errorqueue" />
33+
<Setting name="MessageForwardingInCaseOfFaultConfig.ErrorQueue" value="errorqueue" />
3634
<Setting name="MsmqTransportConfig.NumberOfWorkerThreads" value="1" />
3735
<Setting name="MsmqTransportConfig.MaxRetries" value="5" />
3836
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />

Samples/Azure/AzurePubSub/ServiceDefinition.build.csdef

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
**********************************************************************************************
1010
-->
11-
<ServiceDefinition name="AzureService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
11+
<ServiceDefinition name="AzureService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7">
1212
<WebRole name="OrderWebSite" enableNativeCodeExecution="true">
1313
<Sites>
1414
<Site name="Web">

Samples/Azure/AzurePubSub/ServiceDefinition.csdef

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<ServiceDefinition name="AzureService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
2+
<ServiceDefinition name="AzureService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7">
33
<WebRole name="OrderWebSite" enableNativeCodeExecution="true">
44
<Sites>
55
<Site name="Web">

Samples/ErrorHandling/MyServer.Common/MyMessageHandler.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class MyMessageHandler : IHandleMessages<MyMessage>
1111

1212
public void Handle(MyMessage message)
1313
{
14-
var numOfRetries = message.GetHeader(SecondLevelRetriesHeaders.Retries);
14+
var numOfRetries = message.GetHeader(Headers.Retries);
1515

1616
if (numOfRetries != null)
1717
{

Samples/ErrorHandling/MyServer.Common/TransactionalTransportFailedMessageMonitor.cs

+8-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44

55
namespace MyServer.Common
66
{
7+
using NServiceBus;
8+
79
internal class TransactionalTransportFailedMessageMonitor : IWantToRunWhenTheBusStarts
10+
811
{
912
public TransactionalTransport TransactionalTransport { get; set; }
1013

@@ -16,6 +19,10 @@ public void Run()
1619
void OnFailedMessageProcessing(object sender, NServiceBus.Unicast.Transport.FailedMessageProcessingEventArgs e)
1720
{
1821
Console.WriteLine("This is a first level retry attempt");
19-
}
22+
}
23+
24+
public void Stop()
25+
{
26+
}
2027
}
2128
}

Samples/ErrorHandling/MyServer.WithSLR/ChangeRetryPolicy.cs

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
namespace MyServer
77
{
8+
using NServiceBus;
9+
810
public class ChangeRetryPolicy : INeedInitialization
911
{
1012
public void Init()

Samples/ScaleOut/Orders.Handler/App.config

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22
<configuration>
33
<configSections>
44
<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
5-
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core"/>
5+
<section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core"/>
6+
<section name="GatewayConfig" type="NServiceBus.Config.GatewayConfig, NServiceBus.Core" />
67
</configSections>
78

89
<MessageForwardingInCaseOfFaultConfig ErrorQueue="error"/>
910
<MsmqTransportConfig NumberOfWorkerThreads="7" MaxRetries="2"/>
11+
<GatewayConfig>
12+
<Channels>
13+
<Channel Address="http://localhost:25899/" ChannelType="Http" Default="true"/>
14+
</Channels>
15+
</GatewayConfig>
1016
</configuration>

Samples/Unobtrusive/Client/CommandSender.cs

+66-15
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace Client
55
using Messages;
66
using NServiceBus;
77

8-
class CommandSender : IWantToRunAtStartup
8+
public class CommandSender : IWantToRunAtStartup
99
{
1010
public IBus Bus { get; set; }
1111

@@ -14,6 +14,9 @@ public void Run()
1414
Console.WriteLine("Press 'C' to send a command");
1515
Console.WriteLine("Press 'R' to send a request");
1616
Console.WriteLine("Press 'S' to start the saga");
17+
Console.WriteLine("Press 'E' to send a message that is marked as Express");
18+
Console.WriteLine("Press 'D' to send a large message that is marked to be sent using Data Bus");
19+
Console.WriteLine("Press 'X' to send a message that is marked with expiration time.");
1720
Console.WriteLine("To exit, press Ctrl + C");
1821

1922
while (true)
@@ -24,54 +27,102 @@ public void Run()
2427
case "c":
2528
SendCommand();
2629
break;
30+
2731
case "r":
2832
SendRequest();
2933
break;
34+
3035
case "s":
3136
StartSaga();
3237
break;
38+
39+
case "e":
40+
Express();
41+
break;
42+
43+
case "d":
44+
Data();
45+
break;
46+
47+
case "x":
48+
Expiration();
49+
break;
3350
}
3451
}
3552
}
3653

54+
/// <summary>
55+
/// Shut down server before sending this message, after 30 seconds, the message will be moved to Transactional dead-letter messages queue.
56+
/// </summary>
57+
private void Expiration()
58+
{
59+
Bus.Send<MessageThatExpires>(m => m.RequestId = new Guid());
60+
Console.WriteLine("message with expiration was sent");
61+
}
62+
63+
private void Data()
64+
{
65+
var requestId = Guid.NewGuid();
66+
67+
Bus.Send<LargeMessage>(m =>
68+
{
69+
m.RequestId = requestId;
70+
m.LargeDataBus = new byte[1024 * 1024 * 5];
71+
});
72+
73+
Console.WriteLine("Request sent id: " + requestId);
74+
}
75+
76+
private void Express()
77+
{
78+
var requestId = Guid.NewGuid();
79+
80+
Bus.Send<RequestExpress>(m =>
81+
{
82+
m.RequestId = requestId;
83+
});
84+
85+
Console.WriteLine("Request sent id: " + requestId);
86+
}
87+
3788
void StartSaga(string tennant = "")
3889
{
3990
var message = new StartSagaMessage
40-
{
41-
OrderId = Guid.NewGuid()
42-
};
91+
{
92+
OrderId = Guid.NewGuid()
93+
};
4394
if (!string.IsNullOrEmpty(tennant))
4495
message.SetHeader("tennant", tennant);
4596

4697
Bus.Send(message);
47-
Console.WriteLine(string.Format("{0} - {1}", DateTime.Now.ToLongTimeString(), "Saga start message sent"));
98+
Console.WriteLine("{0} - {1}", DateTime.Now.ToLongTimeString(), "Saga start message sent");
4899
}
49100

50101
void SendRequest()
51102
{
52103
var requestId = Guid.NewGuid();
53104

54105
Bus.Send<Request>(m =>
55-
{
56-
m.RequestId = requestId;
57-
});
106+
{
107+
m.RequestId = requestId;
108+
});
58109

59-
Console.WriteLine("Request sent id: " + requestId);
110+
Console.WriteLine("Request sent id: " + requestId);
60111
}
61112

62113
void SendCommand()
63114
{
64115
var commandId = Guid.NewGuid();
65116

66117
Bus.Send<MyCommand>(m =>
67-
{
68-
m.CommandId = commandId;
69-
m.EncryptedString = "Some sensitive information";
70-
})
71-
.Register<CommandStatus>(outcome=> Console.WriteLine("Server returned status: " + outcome));
118+
{
119+
m.CommandId = commandId;
120+
m.EncryptedString = "Some sensitive information";
121+
})
122+
.Register<CommandStatus>(outcome => Console.WriteLine("Server returned status: " + outcome));
72123

73124
Console.WriteLine("Command sent id: " + commandId);
74-
125+
75126
}
76127

77128
public void Stop()

Samples/Unobtrusive/Client/EndpointConfig.cs

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Client
22
{
3+
using System;
34
using NServiceBus;
45

56
public class EndpointConfig : IConfigureThisEndpoint, AsA_Client, IWantCustomInitialization
@@ -8,10 +9,17 @@ public void Init()
89
{
910
Configure.With()
1011
.NinjectBuilder()
12+
.FileShareDataBus(@"..\..\..\DataBusShare\")
1113
.DefiningCommandsAs(t => t.Namespace != null && t.Namespace.EndsWith("Commands"))
1214
.DefiningEventsAs(t => t.Namespace != null && t.Namespace.EndsWith("Events"))
13-
.DefiningMessagesAs(t => t.Namespace != null && t.Namespace == "Messages")
14-
.DefiningEncryptedPropertiesAs(p => p.Name.StartsWith("Encrypted"));
15+
.DefiningMessagesAs(t => t.Namespace == "Messages")
16+
.DefiningEncryptedPropertiesAs(p => p.Name.StartsWith("Encrypted"))
17+
.DefiningDataBusPropertiesAs(p => p.Name.EndsWith("DataBus"))
18+
.DefiningExpressMessagesAs(t => t.Name.EndsWith("Express"))
19+
.DefiningTimeToBeReceivedAs(t => t.Name.EndsWith("Expires")
20+
? TimeSpan.FromSeconds(30)
21+
: TimeSpan.MaxValue
22+
);
1523
}
1624
}
1725

Samples/Unobtrusive/Events/IMyEvent.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
using System;
2-
3-
namespace Events
1+
namespace Events
42
{
3+
using System;
4+
55
public interface IMyEvent
66
{
77
Guid EventId { get; set; }
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
namespace Messages
2+
{
3+
using System;
4+
5+
public class LargeMessage
6+
{
7+
public Guid RequestId { get; set; }
8+
public byte[] LargeDataBus { get; set; }
9+
}
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Messages
2+
{
3+
using System;
4+
5+
public class MessageThatExpires
6+
{
7+
public Guid RequestId { get; set; }
8+
}
9+
}

Samples/Unobtrusive/Messages/Messages.csproj

+3
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,11 @@
3737
</ItemGroup>
3838
<ItemGroup>
3939
<Compile Include="DeferredMessage.cs" />
40+
<Compile Include="MessageThatExpires.cs" />
4041
<Compile Include="Request.cs" />
4142
<Compile Include="Properties\AssemblyInfo.cs" />
43+
<Compile Include="LargeMessage.cs" />
44+
<Compile Include="RequestExpress.cs" />
4245
<Compile Include="Response.cs" />
4346
<Compile Include="StartSagaMessage.cs" />
4447
</ItemGroup>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Messages
2+
{
3+
using System;
4+
5+
public class RequestExpress
6+
{
7+
public Guid RequestId { get; set; }
8+
}
9+
}

0 commit comments

Comments
 (0)