# GrainServiceClient&lt;TGrainService&gt;.GrainServiceClient&lt;TGrainService&gt;(IServiceProvider)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.services.grainserviceclient-1/) | [Constructors](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.services.grainserviceclient-1/constructors/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Runtime/Services/GrainServiceClient.cs#L23-L32)

```csharp
protected GrainServiceClient(IServiceProvider serviceProvider)
```

Currently we only support a single GrainService per Silo, when multiple are supported we will request the number of GrainServices to partition per silo here.

### Parameters

- `serviceProvider` (`IServiceProvider`): The service provider.
