ASP. NET Core - поддержка одного экземпляра объекта для каждого пользователя на веб-странице. - PullRequest
0 голосов
/ 29 февраля 2020

В настоящее время я создаю демонстрационную веб-страницу в ASP. NET Ядро для компании, в которой я работаю. Сервер поддерживает модель байесовской сети, которая вычисляет вероятности с учетом пользовательского ввода на клиенте. Важно, чтобы у каждого пользователя на клиенте была своя собственная сеть с вероятностями, основанными на их входных данных.

Чтобы поддерживать сеть во всех запросах, я пытался добавить сеть в качестве службы с заданной областью, думая, что она создаст ее. экземпляр для каждого клиента. Я сделал это, добавив services.addScoped<networkClass>(networkClass); при запуске и вставив его в мои контроллеры, о которых запрашивает пользователь. Это не сработало, очевидно. Поскольку я больше думал об этом, я также понял, что должен каким-то образом знать, когда пользователь покидает свой сеанс, чтобы я мог удалить сеть.

Мой вопрос: если я хочу, чтобы у каждого веб-пользователя / клиента был свой собственный экземпляр, скажем, математической сети, в ASP. NET Ядро, использующее MVC и Angular, как бы Я go об этом? И как сделать так, чтобы это продолжалось в течение всей сессии пользователей, а затем уведомлять сервер, когда пользователь выходит из домена, чтобы я мог удалить сеть?

Извините, если это глупый вопрос, я довольно новичок в веб-разработке так что если у вас есть какие-то документы по этому вопросу, это будет оценено.

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 февраля 2020

Что мне нужно сделать, так это создать SignalR Hub, а затем каждый раз, когда пользователь подключается к приложению, вы создаете новый экземпляр сетевого класса и сохраняете его в словаре с идентификатором сеанса пользователя в качестве значения ключа. Таким образом, вы можете легко управлять им.

0 голосов
/ 29 февраля 2020

Вместо использования Angular с ASP. NET Core с использованием MVC, я рекомендую вам создать ASP. NET Web API (API Rest), и вы подключитесь к Angular Приложение через HTTP-запросы.

С этим в будущем, если вы захотите изменить веб-приложение (пример технологии для React), вы можете сделать это, не касаясь Web Api. То же самое наоборот, если вы хотите изменить веб-API (например, NodeJs Server) для другой технологии, вы можете сделать это, не касаясь веб-приложения Angular.

Здесь у вас есть, как создать Web API в Asp. net Core: https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&tabs=visual-studio

Тогда Если вы хотите узнать, как создать Angular приложение, я рекомендую вам следовать https://angular.io/ учебник или этот курс Удеми: https://www.udemy.com/course/the-complete-guide-to-angular-2/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...