문제

고객이 30/mo에서 80/mo 호스팅 패키지로 업그레이드하는 것이 좋습니다.

대지: 이 사이트는 사용자 정의 ASP.NET 전자 상거래 사이트입니다. 쇼핑 카트는 Inproc 세션에 저장됩니다.

문제 우리가 지금 가지고있는 바쁜 시즌 동안, 사용자는 자주 쇼핑 카트와 양식으로 인한 로그인 정보를 잃어 버리고 있습니다.

해결책 SQL Server 세션 상태를 사용하기 위해 사이트를 마이그레이션하고 싶었습니다. 내 가정은 고객이 장바구니를 잃어 버리고 있다고 가정합니다. Inproc 세션이로드로 인해 20 분 타임 아웃보다 더 자주 재활용되기 때문에 고객이 장바구니를 잃어 버리고 있다고합니다. 세션을 SQL Server 또는 Session State Server로 옮기면 고객이 재활용없이 쇼핑 카트 세션을 저장할 수 있습니다. 그렇다면 한 번도 한 번은 의지가 발생하면 세션 타임 아웃을 40 분 또는 60 분 동안 늘리면 문제가 발생할 수 있습니다.

도움이 되었습니까?

해결책

SQL 세션 상태를 사용한다는 것은 세션이 IIS의 재활용에서 살아남아 야한다는 것을 의미합니다 (tempdb에서 세션 데이터베이스를 생성하는 기본 스크립트를 사용하는 경우 SQL Server의 재활용은 아닙니다).

Microsoft 웹 사이트에서 영구 세션 상태 DB를 생성하는 스크립트가 있습니다. 대신 사용하는 것이 좋습니다 (참조 여기).

따라서 기본적으로 귀하의 질문에 답하십시오. 예, SQL 세션 상태가 도움이 될 것입니다. 프로그램 외 상태 서버를 사용하여 이론을 테스트 할 수도 있습니다.

또한 동료가 방금 상기시켜 주었을 때 세션에 저장 한 내용이 마이그레이션하기 전에 직렬화 가능한 것으로 표시되도록하십시오. 그렇지 않으면 문제가 발생합니다.

다른 팁

상자에 약간의 램을 추가 할 수 있습니까? 세션을 SQL Server로 옮기는 것보다 도움이되고 저렴하고 간단 할 수 있습니다. 물론, 그것은 단지 스톱 갭 일 뿐이지 만, 몇 년 동안 50 달러를 절약했다면 아마도 가치가있을 것입니다.

또한 코드를 확인하여 다른 데이터가 세션에 필요한 것보다 훨씬 오래 남아 있는지 확인할 수도 있습니다.

가정은 나에게 합리적으로 들린다. 또한 앱풀의 설정을보고 재활용 이유를 알아 내려고 할 수도 있습니다. 어쩌면 당신이해야 할 일은 그것을 바꾸는 것입니다 (가능하다면).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top