Member 11042699 Ответов: 1

Как можно поддерживать данные, специфичные для пользователей в ASP.NET приложение, когда разные пользователи вошли в систему с разных компьютеров


 After login to MVC application initializing data using below statements and All are static variables. Data coming from DB if the login is successful.
iRISConstants.UserID = row["UserID"].ToString();
iRISConstants.SessionID = row["SessionID"].ToString();

Maintaining this data in static variables since after user login if he do any transaction i have to pass UserID and SessionID to SP call
Here is the problem when hosted the application on IIS server.
1. User login from one machine and variable are initialized.
2. Another user log in to machine and variable get override.
The user id is updated and whatever the transaction do from both first user or second user sending second userID and sessionID since the static data assigned with second logged in user details.
What is the way to resolve it

What I have tried:

<pre>i tried sessions.
1.When one user login i store first user in session variable 
2.When other user log in store second user in different session varible
Lets say both(Different) user logged in some user did transaction i want to send that particular user UserID and SessionID to SP call 
Is there any way to know which user is doing transaction because we are getting only user information during user login, later i have maintain it from application as SP required those 2 parameter

1 Ответов

Рейтинг:
2

F-ES Sitecore

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


Member 11042699

Ниже приведен набор утверждений, которые я пробовал.
Сессия["имя пользователя"] = строка["имя пользователя"].Метод toString();
Сессия["код"]= строка["код"].Метод toString();

Хранится в сеансе, но когда другой пользователь входит в систему, значение получает переопределение. Тем не менее пользователь, который вошел в систему первым с UserID и SessionID той информацией, которая мне нужна, так как я передаю эти значения SP. По значению этого времени перекрытая второй идентификатор пользователя и код сессии так же я не могу хранить

F-ES Sitecore

входит ли другой человек в тот же браузер на той же машине?

Member 11042699

нет другой машины другой браузер

F-ES Sitecore

Есть что-то в вашем коде\настройке, о чем Вы нам не говорите, поскольку это не то, как работают сеансы.