gRPC services can be hosted on ASP.NET Core. Services have full integration with ASP.NET Core features such as logging, dependency injection (DI), authentication, and authorization.
### Add gRPC services to an ASP.NET Core app
gRPC requires the [Grpc.AspNetCore](https://www.nuget.org/packages/Grpc.AspNetCore) package. For information on configuring gRPC in a .NET app, see [Configure gRPC](xref:grpc/aspnetcore#configure-grpc).
`GreeterService` inherits from the `GreeterBase` type, which is generated from the `Greeter` service in the *\*.proto* file. The service is made accessible to clients in *Startup.cs*:
```csharp
app.UseEndpoints(endpoints =>
{
endpoints.MapGrpcService<GreeterService>();
});
```
To learn more about gRPC services on ASP.NET Core, see <xref:grpc/aspnetcore>.
## Call gRPC services with a .NET client
gRPC clients are concrete client types that are [generated from *\*.proto* files](xref:grpc/basics#generated-c-assets). The concrete gRPC client has methods that translate to the gRPC service in the *\*.proto* file.
```csharp
var channel = GrpcChannel.ForAddress("https://localhost:5001");
A gRPC client is created using a channel, which represents a long-lived connection to a gRPC service. A channel can be created using `GrpcChannel.ForAddress`.
For more information on creating clients, and calling different service methods, see <xref:grpc/client>.