# ILocalRequest

Package: [Microsoft.Orleans.Core.Abstractions](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core.Abstractions) | [Source](https://github.com/dotnet/orleans/blob/fbe240c34e9a1389ca5ab2d52f292ed8749ea530/src/Orleans.Core.Abstractions/Core/ILocalRequest.cs#L13)

```csharp
public interface ILocalRequest : IInvokable, IDisposable
```

A request which a grain context receives through [IGrainContext](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/) and which receives its own response.

## Remarks

The grain context invokes the request on the activation, through its incoming grain call filters, passes the response to [ILocalRequest](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.ilocalrequest/), and then disposes the request. Call filters, logs, and traces observe the request's interface name, method name, and arguments. The request and its response are passed by reference rather than copied, so a request which shares mutable state with its caller copies it itself.

## Methods

- [Complete(Response)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.ilocalrequest/methods/complete-orleans-serialization-invocation-response-a77a8f19/)
