首页 > 解决方案 > ASP.Net Core:处理 SSH 客户端

问题描述

我正在使用 SSH.NET 通过 ASP.Net Core 应用程序中的 ssh 隧道连接到数据库。我通过依赖注入在 Startup.cs 中定义了一个查询会话,如下所示:

services.AddScoped<IQuerySession>(ds =>
{
    var store = ds.GetRequiredService<IDocumentStore>();
    using (var client = new SshClient("99.99.99.99", "admin", "test"))
    {
        client.Connect();

        return store.QuerySession();
    }
});

但是,当作用域服务被处置时,我该如何处置 ssh 客户端呢?

标签: c#asp.net-coresshdependency-injection

解决方案


SshClient 实现了 IDisposable,因此 .net 框架将在服务完成使用时调用 Dispose()。

好消息,你不必做任何事情。

有关更多详细信息,请参见此处:如何在请求结束时释放资源并在 ASP.NET 5/Core 中处理注入的服务?


推荐阅读