asp.net Проблема спільного використання сесій може виникнути під час розробки або розгортання, як ділитися сесіями між різними додатками? Я шукав це сьогодні, в Інтернеті є багато методів, серед яких найпоширенішим є сесія спільного використання бази даних SqlServer, якщо вам потрібно зайти на Baidu самостійно, вона вийде. Але хіба не було б великою проблемою, якби база даних була не SqlServer, а щось інше, наприклад Oracle? На щастя, сьогодні я знайшов інший спосіб реалізувати спільне використання сесій без використання бази даних, тобто методом StateServer. Без зайвих слів, ознайомтеся з кроками впровадження:
1. Відкрийте реєстр, запустіть cmd/regedit і знайдіть вузол HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\aspnet_state\Parameters
a. Встановити значення AllowRemoteConnection на 1
[b. Встановити значення порту на a5b8 (шістнадцяткове), тобто десяткове 42424 (за замовчуванням)]
Вищезазначене буквально дозволяє віддалене підключення та налаштування портів
2. Змініть тип запуску комп'ютерної служби "ASP.NET State Service" на автоматичний і одночасно запустіть сервіс.
3. Додайте його під node system.web у файлі web.config веб-проєкту A та проєкту B відповідно
Не забудьте замінити IP сервісу та встановлений порт на кроці 1
4. Додайте наступний код до Global.asax.cs проєктів вебсайтів A та проєкту вебсайту B відповідно
Зверніть увагу на дваAPPNAME має бути встановлений на той самий。 Вищезазначене вирішує проблему спільного використання сесій. Наведені вище розв'язки тут
Нарешті, ви можете перевірити, чи можете написати Session у проєкті A для читання у проєкті B, або Seesion у проєкті B, щоб прочитати у проєкті A.
|