#blazor #blazor-server-side
#blazor #blazor-на стороне сервера
Вопрос:
Я повторно использую старый клиентский код WinForms в серверном приложении Blazor. Проблема в том, что код WinForms ожидает несколько статических переменных с состоянием, которые создаются при запуске приложения, а затем используются везде.
Я хочу заменить эти статические переменные статическими свойствами, которые хранят данные в статических переменных для WinForms и в каком-то хранилище данных, привязанном к схеме для сервера Blazor.
Я с удовольствием использовал HttpContext, но, похоже, он работает только в разработке, а не в производстве. Есть ли что-то эквивалентное HttContext для цепей Blazor? Может быть, словарь, где хранить данные? Или, по крайней мере, статическое свойство для получения идентификатора схемы?
Редактировать для уточнения:
Например, эти статические свойства присваиваются при входе пользователя в систему
public class UserData
{
public static int Id { get; set; }
public static string Name { get; set; }
}
Я пытался изменить его на что-то вроде:
public static int Id
{
get
{
return (int)httpContext.Items["UserId"];
}
set
{
httpContext.Items["UserId"] = value;
}
}
Эти статические значения используются везде в старом коде.
Комментарии:
1. Схемы приходят и уходят… Можете ли вы описать данные в терминах желаемого срока службы?
2. @HenkHolterman, я добавил некоторый код для пояснения.
3. Забудьте о статике, теперь вы на сервере. Сильно многопоточность.
4. Вы нашли решение своей проблемы?