Я добавил app.UseSession();
к моему автозагрузке. Настройте и services.AddSession()
к моим ConfigureServices.
Теперь, если я попытаюсь использовать Session, как это:
HttpContext.Session.SetString("CalculationType", tableName);
Я получаю "ссылка на объект требуется для нестатического c поля, метода или свойства, 'HttpContext.Session'"
Однако, если я пытаюсь создать его экземпляр следующим образом: HttpContext context = new HttpContext();
там написано: «Невозможно создать экземпляр абстрактного класса или интерфейса« HttpContext »
Как получить доступ к сеансу?
IQuery.cs
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace CalculationMonitor.Services
{
public interface IQuery
{
List<Dictionary<string, string>> GetListOfDatabases(string dbName);
}
public class InMemoryIquery : IQuery
{
public List<Dictionary<string, string>> GetListOfDatabases(string tableName)
{
if(tableName != null)
{
HttpContext.Session.SetString("CalculationType", tableName);
}
}
}