1
0
mirror of synced 2024-06-25 22:07:39 +00:00
Commit Graph

122 Commits

Author SHA1 Message Date
adde0c3c8d Reduced Invoke overhead for controller methods 2022-02-10 10:16:16 +01:00
3aee6f1c53 Fixed #38 Durable queues are verified more than once
Caused by non thread-safe code when applying bindings. Replaced Task.WhenAll with a simple loop, as the performance benefits are negligable and it's only at startup anyways.
Also changed binding methods to use ValueTask.
2022-02-09 12:42:05 +01:00
165680fd38 Added ValueTask support
- This is a breaking change for custom middleware implementations
Added validation for return type handling
- This may be breaking for incorrect implementations, but highly unlikely
2022-02-09 11:27:07 +01:00
b816e56018 Code style cleanup 2022-02-09 09:50:25 +01:00
b0d1ca6bc3 Added .NET Standard 2.1 as additional target framework
Upgraded examples to .NET 6
2022-02-09 08:35:57 +01:00
58d1908047 Added NoRequestsBehaviour to ParallelFlow.Yield 2021-12-10 11:45:09 +01:00
bc00d476bd Implemented adding requests to parallel flow
Fixed console logger outputting incorrect message when declaring queues
2021-12-10 09:56:37 +01:00
56a842ea5c Implemented #37 Support injection of CancellationToken in message handlers 2021-10-29 15:47:48 +02:00
017c4c130f Fixed prefetchcount being applied to the incorrect channel 2021-10-26 13:29:48 +02:00
Mark van Renswoude
847e6a6d83 Fixed #35: NullReferenceException in Cancel 2021-10-08 15:51:10 +02:00
Mark van Renswoude
46e498b071 Split parts into separate repositories
Annotations, DataAnnotations.Extensions and Cmd
2021-10-07 15:38:43 +02:00
b22c5200f4 Fixed #34 Reconnect not working when restarting RabbitMQ
- Fixed deadlock issue when connection is lost
- Fixed Ack and Cancel being attempted on wrong connection causing channel disconnects
2021-09-21 16:17:14 +02:00
a9a38f2497 Fixed Flow response messages blocking the consumer
Caused by non-async disposable payload in MessageContext never being disposed
2021-09-16 12:26:11 +02:00
c76bce30fa Added SourceLink reference 2021-09-16 11:41:03 +02:00
66a0ec116b Fixed a few code hints 2021-09-05 10:05:04 +02:00
e83645cdc4 Changed IExceptionStrategy to async 2021-09-05 10:03:29 +02:00
be576a2409 Implemented #31: Include message details in exception logging (optionally)
Refactored IControllerMessageContext into context payloads to get access to it in the exception handler
2021-09-02 16:16:44 +02:00
5a90c1e0a5 Added support for consuming incompatible durable queues without breaking 2021-09-02 13:58:01 +02:00
e9a7e32bf5 Slightly improved logging to fix #28
Logging the body is not worth it at the moment, as the original issue regarding corrupt body contents has been fixed already
2021-07-18 13:52:49 +02:00
f4d008d6a9 Added data to controller method exceptions, like Tapeti Flow does for yield point exceptions
Closes #25, stack traces seem fine in test scenarios
2021-07-18 13:49:01 +02:00
ce377810c8 Separated publishing into separate channel and task queue
Hopefully fixes #23
2021-07-18 13:27:10 +02:00
52965b2372 Fixed #30 Test if new Tapeti async consumer runs parallel
Alternative fix for #29 Deserialization errors due to not buffering RabbitMQ Client's body
2021-07-05 10:28:49 +02:00
09efa161b4 Revert "Merge branch 'hotfix/2.5.1' into develop"
This reverts commit 4b2ced7956.
2021-07-05 09:01:02 +02:00
bbfb580a97 Actually fixed #29 2021-06-25 09:35:26 +02:00
e33201dc17 Fixed #29: Deserialization errors due to not buffering RabbitMQ Client's body
- TIL there is an AsyncDefaultBasicConsumer which eliminates the need for the Task.Run
2021-06-25 09:28:25 +02:00
a3e3a266e2 Implemented RoutingKey attribute 2021-06-04 11:51:45 +02:00
e25fa5aa52 Implemented IAsyncDisposable 2021-06-02 20:56:10 +02:00
1be1b599a0 Updated all references NuGet packages to latest stable version
Fixed ReSharper code issues
2021-05-29 21:52:07 +02:00
4cbb0f9649 Fixed #26: replace nuspec files by dotnet pack 2021-05-29 12:40:17 +02:00
0b7c84a119 Ignore OperationCanceledException as well when shutting down 2021-01-18 14:17:07 +01:00
f4bef38a9f Ignore TaskCanceledExceptions during shutdown 2021-01-15 11:29:31 +01:00
f1a4ab1c67 Added Stop method to ISubscriber 2021-01-15 09:57:46 +01:00
e5882b7b7a Fixed controller middleware interfaces not inheriting from base 2020-07-02 11:43:24 +02:00
Frederik
b150e30f2b Fix for #24: Queue attribute is required for Start methods 2020-06-11 16:38:32 +02:00
Frederik
13833040e8 Possible fix for #21 - Same request/response twice in flow does not continue? 2020-06-11 16:36:55 +02:00
145850c3c2 Provide a way to disable queue verification
- Backwards compatibility with incompatible queue definitions
2020-03-17 15:21:39 +01:00
c1cd2823ca Temporary workaround: increased publish timeout limit 2020-03-17 14:57:27 +01:00
6e31b77b26 Added logging for binding operations
- IBindingLogger interface implemented in the included implementations (Console and Serilog)
Added documentation for Tapeti.Cmd
2020-03-05 10:27:46 +01:00
2745d18779 Implemented stateless request-response support 2020-02-12 11:34:51 +01:00
Hans Mulder
74a3aa19f7 Pass parameter consumeResult to handle.Cleanup - fixed cleanup state after exception 2020-01-17 14:16:13 +01:00
cbcfb0de54 Updated Newtonsoft.Json version 2019-10-16 10:11:27 +02:00
2e2a77a7ae Possible fix for #18 Two consumers from same connection after reconnect
- Consume calls still in the TapetiClient task queue while it is reconnecting would not be cancelled, but new calls were added as well after the reconnect
- Unrelated but useful: added LocalPort and Disconnect event to logging
2019-10-10 16:03:47 +02:00
5020e3a82b Added back version information
Got lost in the move to .NET Standard, all DLL's were version 1.0 causing some issues
2019-10-01 10:18:12 +02:00
99bc839814 Fixed consumers not restarting after a reconnect 2019-09-10 19:38:59 +02:00
bef3961f7f Added support for the Obsolete attribute to remove bindings and queues with backwards compatibility
Updated license in nuspec to comply with the new specifications
2019-08-20 11:47:53 +02:00
c63b821b87 Fixed #11: Do not persist flow for dynamic queues 2019-08-19 09:33:07 +02:00
84ee6f090d [skip appveyor] Added support for ClientProperties (manual and in the AppSettings)
Added support for managementport in the ConnectionStringParser
Added documentation on setting the connection parameters
2019-08-18 11:06:33 +02:00
196aa63a4a [ci skip] Fixed the last of the ReSharper code issues 2019-08-15 16:00:04 +02:00
c83ca889b7 [ci skip] Fixed wrong port being used for management API
Fixed exchange not being created for bindings and publishing
Added documentation for DataAnnotations package
2019-08-15 15:55:45 +02:00
0aa44cfefd [ci skip] Fixed: Binding.ForMethod failed because ControllerMethodBinding did not implement IControllerMethodBinding 2019-08-15 12:10:29 +02:00