Я должен открыть второе окно браузера или вкладку, но она должна иметь другое session ID
.
Открытие нового окна браузера от страницы ASP.NET легко, но затем это совместно использует тот же cookie и таким образом session ID
с оригиналом.
Как я могу сделать это?
Это ограничение браузера - экземпляры браузеров обмениваются данными cookie (включая cookie сеанса) во время работы, поэтому в вашем стандартном браузере это невозможно.
Если у вас есть возможность запускать разные браузеры (например, IE и Firefox), они не используют файлы cookie и будут иметь разные сеансы.
Изменить:
Если у вас есть контроль над заголовками хостов IIS и DNS в вашей среде, вы можете использовать много разных доменных имен - по одному на сеанс.
Браузер будет рассматривать каждое доменное имя как отдельный сервер, и будут созданы разные файлы cookie (и, следовательно, сеансы).
В IE вы должны использовать File - New Session или есть ключ реестра, который вы можете установить для вкладок / сессий. Ваши вкладки изменят цвет, показывая вам, какой сеанс вы используете.
Я не думаю, что есть способ сделать это, потому что файлы cookie хранятся на уровне браузера - сколько бы окон вы ни открыли, у вас все равно будет один и тот же файл cookie и, следовательно, тот же сеанс.
Возможно, это возможно, если вы используете сеансы без файлов cookie , я не уверен, хотя маршрут сеансов без файлов cookie имеет ряд недостатков.
edit: В зависимости от ваших обстоятельств, одним из способов достижения того, чего вы пытаетесь достичь, может быть использование нескольких разных доменных имен / URL-адресов, которые все указывают на один и тот же сайт ASP.NET, что позволит вам сохранить файлы cookie. и сеансы раздельные. Но если вам нужно более 2 или 3 сеансов для каждого браузера, это будет глупо.