Сеанс пользователя в классическом веб-контексте - это то, о чем знает только веб-сервер.
Вы можете иметь концепцию пользовательского сеанса в вашем приложении (как просто еще один вид объекта домена, с собственным хранилищем данных и т. Д.), Но вы просто должны быть осторожны, чтобы не связывать / тесно связывать.связать это каким-либо образом с веб-серверами концепции сеанса.
То же самое относится и к другим видам приложений (WinForms и т. Д.).
Идея идентификатора пользователя не связана с сеансом пользователя;уверен, что пользователь может использовать систему (создавая новый сеанс, и вы сможете связать две вещи вместе. (Ваши примеры выше заставили меня задуматься, не смутили ли вы их).
Это так?сквозная проблема?
Если вы устанавливаете пользовательскую сессию в качестве формального объекта домена - тогда ответ «да», потому что доменные объекты (или концепции, которые они представляют) являются сквозными но не в том смысле, в котором ведутся журналы или обработка ошибок.
В противном случае, если пользовательские сеансы являются не чем иным, как (например) сеансами на основе веб-сервера, тогда ответом является «нет», это зависит от концепциина уровне представления - работает на веб-сервере.
Тогда есть третий вариант, своего рода промежуточный дом: вы можете передавать SessionID пользователей точно так же, как и любой другой примитивданные - но на самом деле никогда не иметь объект домена пользовательского сеанса. Вы просто должны быть осторожны, например, один вид веб-сервера может использовать GUID, другойВозможно, вы должны использовать int или строку - так что будьте осторожны.