이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 19080|회답: 3

[ASP.NET] ASP.NET 세션을 저장하는 StateServer

[링크 복사]
게시됨 2017. 11. 18. 오후 9:20:15 | | | |

회사가 서버를 부하 분산해야 하기 때문에, 웹 프로젝트는 두 개의 프론트엔드 서버(web1과 web2) 각각에 하나씩 배포합니다. 하지만 세션은 프로젝트에서 사용됩니다. web1에 처음 접했을 때, web1에서 web2로 넘어갈 수도 있는데, 그 이후에는 부담이 증가할 수 있기 때문입니다.
인터넷에서 많은 정보를 찾았고, web.config 설정도 이해했습니다
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
인터넷에 많은 예시가 있는데 stateConnectionString="tcpip=127.0.0.1:42424"가 있는데, 웹 서버에서는 물론 괜찮지만, stateConnectionString을 stateConnectionString="tcpip=192.168.1.82: 42424"로 바꾸면 두 프론트엔드 모두에 문제가 생깁니다. 마이크로소프트는 구체적인 해결책을 제시하지 않았으며, MSDN 예시들도 127.0.0.1을 가리키고 있습니다. 나중에 전문가들과 상담하고 조사한 결과, 세신을 구하는 서버의 레지스트리를 수정해야 한다는 것을 알게 되었습니다. 여기 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분을 넘지 않습니다. 이게 마이크로소프트의 버그인지 뭔지 모르겠는데, 이 문제는 웹페이지에 나타나지 않아요. 해결책.
탐색 기간을 거친 후에는 WAP 페이지에서 뷰스테이트를 줄이는 것이 가장 좋으며, asp.net 상태 서비스가 활성화되어 있다면 cookieless를 true로 설정하는 것이 좋습니다. 그렇지 않으면 세션이 손실됩니다.




이전의:Autofac 컨테이너를 위한 간단한 패키지 리팩토링
다음:세션 상태는 직렬화할 수 없습니다. "StateServer" 또는 "SQLServer" 모드에서...
 집주인| 게시됨 2017. 11. 18. 오후 9:21:34 |
세션 상태 모듈 ASP.NET <Sessionstate>System.web> 태그 내 태그의 모드 속성< Web.config 파일 내 태그의 네 가지 가능한 값을 결정합니다: Off, Inproc StateServer, 그리고 SQLserver.    기본 설정은 1 인프로크(Inproc)
"쿠키 없는" 세션과 서버 외부에 세션 데이터를 저장할 수 있게 합니다. ASP.NET 세션 상태 모듈은 Web.config 파일에서 다음과 같이 구성되어 있습니다:
 집주인| 게시됨 2018. 2. 26. 오전 11:02:52 |
내 개인 구성


 집주인| 게시됨 2022. 7. 10. 오후 9:58:32 |
ASP.NET 4는 이제 프로세스 외 세션을 저장하기 위한 세션 데이터 압축 지원을 내장하고 있습니다. 이 기능을 활성화하려면 단순히 설정하세요compressionEnabled속성은 "true"로 설정되어 있으며, 다음 코드 스니펫에서 확인할 수 있습니다:



ASP.NET .NET Framework System.IO.Compression.GZipStream 클래스를 사용하여 세션 상태를 압축(및 해제)할 것입니다.
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com