ASP.NET
This tutorial shows you how to add a reusable Algolia client to your ASP.NET application.
Add the Algolia library
1
dotnet add package Algolia.Search
Inject a reusable client
To keep performance optimal, you should reuse the client instance for every request.
To do this, inject the SearchClient
as singleton
in the service provider.
Open the Startup.cs
file and add the following line in the ConfigureSerivces
method.
1
2
3
4
5
6
7
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSingleton<ISearchClient, SearchClient>();
services.AddSingleton<ISearchClient>(new SearchClient("YourApplicationID", "YourSearchOnlyAPIKey"));
...
}
As a client is thread-safe you can use a SearchClient
for multiple indices. You don’t have to create on client per index.
If you are using other clients such as the AnalyticsClient
or InsightsClient
you should also add them as singletons in the service provider.
Reusable clients in your controllers
Then, to reuse the SearchClient
instance in your controllers, add the following lines:
1
2
3
4
5
6
7
8
9
public class HomeController : Controller
{
private readonly ISearchClient _searchClient;
public HomeController(ISearchClient searchClient)
{
_searchClient = searchClient;
}
}