ASP.NET e Neo4jClient - onde armazenar a conexão?

O C # Neo4JClient possuiGraphClient onde você tem que ligar.Connect()

var client = new GraphClient(new Uri("http://localhost:7474/db/data"));
client.Connect();

Em todos os exemplos que eu vi, ele está em um aplicativo de console, então eles declaramGraphClient noMain() e reutilize-o. E a documentação menciona como seu Thread Safe e ter apenas uma instância por banco de dados e não chamar.Connect() várias vezes.

Mas e nos aplicativos ASP.NET? Devo colocá-lo em alguma classe estática que é acessada pelas páginas (ou armazená-lo no estado Aplicativo)? Como isso:

public class DbConnection
{
    private static GraphClient _client;
    public static GraphClient GraphClient
    {
        get
        {
            if (_client == null)
            {
                _client = new GraphClient(new Uri("http://localhost:7474/db/data"));
                _client.Connect();
            }
            return _client;
        }
    }
}

E então, em qualquer página ASPX, eu poderia simplesmente:

protected void Page_Load(object sender, EventArgs e)
{
    GraphClient client = DbConnection.GraphClient;
    //do whatever I need to with client
}

Ou não estou entendendo isso corretamente e isso causaria todos os tipos de problemas? Preciso ligar.Connect() em cada método (ou talvez uma vez por ciclo de vida da página), assim:

private GraphClient _client;
private GraphClient PageGraphClient
{
    get { //same as in previous, check if null and load _client with the connection }
}

protected void Page_Load(object sender, EventArgs e)
{
    //do whatever I need to with PageGraphClient
}

protected void btnSave_Click(object sender, EventArgs e)
{
    //do whatever I need to with PageGraphClient
}

E assim por diante? Eu acho que estou apenas desligando a coisa Segura do Thread e "fazendo muitas conexões com o db" e querendo ter certeza de que não estou perdendo uma maneira fácil / correta de fazer isso.

(e sim, eu sei que não deveria chamar os comandos do banco de dados diretamente das páginas ASPX, estou simplificando demais para entender como a classe GraphClient funciona;)

questionAnswers(1)

yourAnswerToTheQuestion