github Particular/NServiceBus 4.5.0

latest releases: 9.0.0, 8.2.0, 9.0.0-alpha.10...
10 years ago

This release consist of these issues that were achieved through these commits.

Features

#1953 Improve the experience for first time users installing NServiceBus via NuGet

This only applies to new users. If we detect that NServiceBus/the platform is already installed on their machine we do nothing. Existing installs can be detected in 2 ways:

  1. The "MachinePrepared" regkey
  2. The platform installer hasn't been installed (will be introduced when the PI is ready - TBD sync with the PI specs)
Scenarios
New user joining an existing team opening up the solution for the first time

init.ps1 will detect this and pop this page in the vs browser:
http://particular.net/download-the-particular-service-platform?version={nservicebus version}

Content trimmed. See full issue

Improvements

#2023 Update the license dialog to the new platform design

This depends on the license pull

#2022

#1991 Change unlicensed behaviour to be even more safe for production

Relax current behaviour
  • Remove the 1 msg/s throttling
  • Remove the MaxWorkerNodes limitation from the distributor (please confirm @udidahan )
Introduce new behaviour when no valid license is found

Relates to #1993

#1965 Provide icon to NServiceBus.Host.exe

It would be nice if you setup application icon in nservicebus.host.exe. This icon could simplify recognizing if this app on my task bar is nservicebus.host.exe or maybe ConsoleApplication11.exe. The same when I'm looking for nservicebus.host.exe in windows explorer.

Bugs

#2051 Workers use the wrong reply to address

The reply to address of the workers are wrongly rewritten the distributors control address instead of the main address

This was broken in 4.4.2 by this change:

54a1da3

#2036 LicenseExpirationChecker.HasLicenseDateExpired throws exception

Unhandled Exception: System.ArgumentOutOfRangeException: The added or subtracted value results in an un-representable Da
teTime.
Parameter name: value
   at System.DateTime.AddTicks(Int64 value)
   at Particular.Licensing.LicenseExpirationChecker.HasLicenseDateExpired(DateTime licenseDate) in c:\Projects\NServiceB
us\src\NServiceBus.Core\App_Packages\Particular.Licensing\LicenseExpirationChecker.cs:line 28
   at Particular.Licensing.LicenseExpirationChecker.HasLicenseExpired(License license) in c:\Projects\NServiceBus\src\NS
erviceBus.Core\App_Packages\Particular.Licensing\LicenseExpirationChecker.cs:line 9
   at NServiceBus.Licensing.LicenseManager.InitializeLicense() in c:\Projects\NServiceBus\src\NServiceBus.Core\Licensing
\LicenseManager.cs:line 99

Content trimmed. See full issue

#2001 Trial dialog corrupting SynchronizationContext

So when we show a windows form dialog it will set (or overwrite) the SynchronizationContext.Current. This will result in callbacks being executed on SynchronizationContext of the dialog and not the SynchronizationContext of the executing process..

So the proposal for fixing this is to

  • store SynchronizationContext.Current
  • show license dialog
  • pass the stored SynchronizationContext back to SynchronizationContext.SetSynchronizationContext

Thoughts?

#1972 log4net.Core.Level.ToString not found

If you configure your endpoint to use log4net like this:

        XmlConfigurator.Configure();
        Configure.With()
            .Log4Net()
            .AutofacBuilder(container)
            .FileShareDataBus(BasePath)
            .RavenSubscriptionStorage()
            .UseRavenTimeoutPersister()
            .UnicastBus();

Content trimmed. See full issue

#1947 Exceptions during startup is no longer logged in 4.3.0

If you use the regular host and an exception is thrown in either IWantCustomInitialization or INeedInitialization (and probably others), no error is logged. Instead, the service just dies with no indication of what the error was. This makes it quite difficult to troubleshoot errors when the host runs as a service.

This used to be logged as a fatal error in NSB 3.3.

#1827 SingleCallChannelReceiver doesn't work with unity

SingleCallChannelReceiver doesn't work with UnityBuilder.

Logs with UnityBuilder:

2013-12-02 10:04:43.9703 DEBUG NServiceBus.Gateway.Receiving.IdempotentChannelReceiver Received message of type SingleCallSubmit for client id: 4e5cde3c-b09e-4943-8379-b5a5f88d589e 
2013-12-02 10:04:43.9863 DEBUG NServiceBus.Gateway.Channels.Http.HttpChannelReceiver Sending HTTP 200 response. 
2013-12-02 10:04:44.0143 DEBUG NServiceBus.Gateway.Channels.Http.HttpChannelReceiver Http request processing complete.

When I change builder from UnityBuilder to DefaultBuilder log looks like this:

2013-12-02 10:18:44.5661 DEBUG NServiceBus.Gateway Received message of type SingleCallSubmit for client id: 9a85fc19-dd91-411d-9f82-2f7c793236ed 

Content trimmed. See full issue

Where to get it

You can download this release from:

Don't miss a new NServiceBus release

NewReleases is sending notifications on new releases.