Думающий Сфинкс - индексация Delta не работает

Вот как я реализовал Session в своем проекте ASP .NET CORE:

Создайте фильтр SessionTimeout:

public class SessionTimeout : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        if (context.HttpContext.Session == null ||!context.HttpContext.Session.TryGetValue("UserID", out byte[] val))
        {
            context.Result =
                new RedirectToRouteResult(new RouteValueDictionary(new
                {
                    controller = "Pages",
                    action = "SessionTimeout"
                }));
        }
        base.OnActionExecuting(context);
    }
}

Зарегистрируйте этот фильтр в файле Startup.cs:

В вашем методе ConfigureServices:

services.AddSession(options =>
            {
                options.IdleTimeout = TimeSpan.FromMinutes(10);               
            });

В вашем Configure добавьте:

app.UseSession();

И, наконец, украсьте свой класс / метод с помощью фильтра, например:

    [SessionTimeout]
    public class DashboardController : Controller
[ 1111] Чтобы уничтожить ваш сеанс на основе события выхода из вашего просмотра:

public IActionResult Logout()
        {
            HttpContext.Session.Clear();
            return RedirectToAction("Login", new { controller = "Pages" });
        }
5
задан Milan Novota 5 May 2009 в 09:40
поделиться

3 ответа

спасибо за ваши усилия. После довольно долгого исследования я обнаружил, что просто забыл запустить миграцию (которая установила значение по умолчанию для дельта-столбцов как false). Теперь я должен получить несколько минусовых баллов за такую ​​глупую ошибку. Извините за беспокойство и еще раз спасибо.

6
ответ дан 14 December 2019 в 04:47
поделиться

Используете ли вы rake ts: conf after для правильной генерации файла конфигурации?

Затем вы можете проверить созданный файл конфигурации, чтобы увидеть, есть ли в файле конфигурации оба SQL-запроса (стандартный и дельта).

Мы используйте его без проблем.

0
ответ дан 14 December 2019 в 04:47
поделиться

У меня похожая проблема с тем, что дельта-индексация не работает... на самом деле она работает в моей среде, но не в производстве. Меня смущают утверждения в начале сообщения, что значение по умолчанию для дельты должно быть ложным. В thinking sphinx doc по адресу http://freelancing-god.github.com/ts/en/deltas.html говорится, что значение по умолчанию должно быть true:

def self.up
  add_column :articles, :delta, :boolean, :default => true,
    :null => false
end

Я что-то пропустил?

Спасибо!

2
ответ дан 14 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: