Comments (3)
Do you mean that you can't access HttpContext
in the lambda expression or something else is wrong?
from convey.
@VictorioBerra there's a an accessor for that purpose inside .NET Core called IHttpContextAccessor
. This will allow you to access the context (it's build on top of AsyncLocal<T>
) so it's different according to the async method context. However I'd recommend wrapping this in some sort of abstraction to avoid leaking the HTTP-related stuff into the handlers.
from convey.
@GooRiOn ahhh I can just inject IHttpContextAccessor
(or rather an abstraction). That makes much more sense.
I am unfamiliar with AsyncLocal<T>
but I get the general concept of accessing IHttpContextAccessor
in a service during a request.
@spetz thanks for the quick reply, @GooRiOn answered the question for me, I was more or less thinking that there would be an overload of HandleAsync
that exposed the context. IE:
public class DeleteParcel : IRequest
{
public Guid ParcelId { get; }
public DeleteParcel(Guid parcelId)
{
ParcelId = parcelId;
}
}
public class DeleteParcelHandler : IRequestHandler<DeleteParcel, int>
{
public async Task HandleAsync(DeleteParcel request, HttpContext context)
{
// Deleted a parcel, let's return its ID.
return ctx.Response.Created($"parcels/{request.ParcelId}");
}
}
from convey.
Related Issues (20)
- Log payload deserialization exceptions HOT 2
- Update Open.Serialization Package
- RabbitMQ (reached the limit of 1000 channels)
- InboxMessages are not saving in EF when recieveing events and outbox is enabled and decorator added HOT 2
- UseSwaggerDocs() HOT 1
- [Question] Classes are create your own scope every time
- [Vault leases] app broken after max_ttl expires HOT 1
- Convey update v. 0.5.452 broke MessageBrokers outbox HOT 1
- [Vault leases] Wrong expiration time after renewing HOT 1
- RabbitMq JaegerPlugin Message Invalid cast exception HOT 3
- Outbox EntityFramework brak czyszczenia wygasłych/przedawnionych wpisów HOT 1
- Outbox EntityFramework - problem z mapowaniem OutboxMessage HOT 1
- Convey.Logging nuget package 0.5.491 is missing
- Convey is disposing `IConfiguration` object and breaks reloadable `IConfigurationProvider`s supplied to application HOT 3
- Filters won't work on webapi
- [RabbitMQ] Declare Quorum Queues HOT 2
- Azure Service Bus Support for MessageBrokers packages HOT 12
- [Consul] Provide service ID to health check
- HandlersLoggingDecorator Logs commands/events even if messages has been handled and stored in outbox HOT 1
- Call the custom filter before executing the handler HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from convey.