Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 19080|Отговор: 3

[ASP.NET] ASP.NET StateServer, който съхранява сесията

[Копирай линк]
Публикувано в 18.11.2017 г. 21:20:15 ч. | | | |

Тъй като компанията трябва да балансира натоварването на сървъра, уеб проектът внедрява по един на всеки от двата фронтенд сървъра (web1 и web2). Но сесиите се използват в проекти. Когато за първи път попаднете на web1, е възможно да преминете от web1 към web2, тъй като натоварването може да се увеличи след web1.
Намерих много информация от интернет и също така разбирам конфигурацията в web.config
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Много примери в интернет са stateConnectionString="tcpip=127.0.0.1:42424", което разбира се е добре на уеб сървър, но когато промените състояниеConnectionString на stateConnectionString="tcpip=192.168.1.82: 42424", ще има проблеми и с двата фронтенда. Microsoft не предостави конкретно решение, а примерите в MSDN също сочат към 127.0.0.1. По-късно, след проучване и консултация с експерти, осъзнах, че трябва да променя регистъра на сървъра, който запазва Sessin, тук е 192.168.1.82, а модификацията е следната:
Променете регистъра:

HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Услуги"aspnet_state"Параметри"



AllowRemoteConnection=1



След това рестартирайте ASP.NET държавна служба



Конфигурацията на връзката е следната:

<sessionState mode="StateServer"
stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect"
тайм-аут="60" />

След това всичко беше наред след тестовете. Надявам се да помогне на други.
Има още един проблем, който все още не разбирам. WAP страницата, която направих, ще съдържа данните, съхранени във ViewState на страницата, и когато страницата се обновява постоянно, данните в нея се губят и времето никога няма да надвишава 20 минути. Не знам дали е бъг от Microsoft или нещо друго, този проблем не се появява на уеб страници. Решение.
След период на проучване е най-добре да се използва по-малко viewstate на WAP страницата, а ако услугата за asp.net състояние е активирана, най-добре е да се зададе cookieless на true, иначе сесията ще бъде загубена.




Предишен:Просто рефакториране на пакети за Autofac Container
Следващ:Състоянията на сесиите не могат да бъдат сериализирани. В режим "StateServer" или "SQLServer"...
 Хазяин| Публикувано в 18.11.2017 г. 21:21:34 ч. |
ASP.NET модул за състояние <Sessionstate>на сесия определя четирите възможни стойности на тага във файла Web.config < свойството режим на тага под System.web> таг: Off, Inproc StateServer и SQLserver.    1 Inproc е стандартната настройка
Той позволява "безбисквитки" сесии, както и съхранение на данни от сесиите извън сървъра. ASP.NET модул за сесийно състояние е конфигуриран във файла Web.config по следния начин:
 Хазяин| Публикувано в 26.02.2018 г. 11:02:52 ч. |
Моята собствена конфигурация


 Хазяин| Публикувано в 10.07.2022 г. 21:58:32 ч. |
ASP.NET 4 вече предоставя вградена поддръжка за компресиране на данните от сесиите, за да се съхраняват извън процеса. За да активирате тази функция, просто задайтеcompressionEnabledСвойството е зададено на "true", както е показано в следния кодов фрагмент:



ASP.NET ще използва класа .NET Framework System.IO.Compression.GZipStream за компресиране (и декомпресиране) на състоянието на сесията.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com