2014-02-11 1 views
1

사용자를 인증 한 후 클라이언트 세부 정보가 클라이언트 범위에 저장됩니다. 대시 보드로 리디렉션하면 클라이언트 범위에 추가 된 모든 새 항목이 지워집니다. 쿠키와 캐시를 지우고 쿠키를 저장하고있는 클라이언트가 없다는 것을 알았습니다. (응용 프로그램 범위를 바꾸기 전에 남은 부분이있었습니다.) 나는 다음과 같은 응용 프로그램 설정이 정의coldfusion : 내 클라이언트 변수가 지워지는 이유는 무엇입니까?

을 application.cfc하는 Application.cfm의를 사용하는 응용 프로그램을 업데이트 한 후

이 일어나고 시작 :

<cfset this.SessionManagement = true> 
<cfset this.ClientManagement = true> 
<cfset this.SetClientCookies = true> 
<cfset this.sessionTimeout = CreateTimeSpan(0,8,0,0)> 
<cfset this.applicationTimeout = CreateTimeSpan(0,8,0,0)> 

당신은 어떤 이유를 제안 할 수 있습니다 이유는 클라이언트 변수는 것 사라지다?

+5

일반적으로 클라이언트 범위에 변수를 저장하는 것은 좋지 않은 것으로 생각됩니다. 가능한 경우 세션 범위를 사용하는 것이 좋습니다. 예 : http://www.dopefly.com/pages/ColdFusionClientVariablesFinalNail.cfm – duncan

+0

나는 최대한 적은 세션에 저장해야한다고 생각합니다. 최신 브라우저에서는 프로그래머가 의도하지 않은 방식으로 값을 변경하기가 너무 쉽습니다. –

+0

클라이언트 변수 저장소에 무엇을 사용하고 있습니까? – ale

답변

2

많은 문제를 해결 한 후에 클라이언트 범위를 지우는 것이 응용 프로그램 이름임을 확인했습니다. 우리의 이름은 응용 프로그램의 버전과 릴리스 번호를 모방하여 완전히 멈 춥니 다. 밑줄을 긋기 위해 모든 것을 변환 한 후에 작업을 시작했습니다.

다른 모든 응용 프로그램이 동일한 규칙을 사용하기 때문에이 방법을 사용 했으므로 응용 프로그램이 작동하지 않는 이유를 잘 모릅니다.하지만이 방법이 해결책이었습니다.

<cfset this.name = "client_product_v1.6.1.0.r1.o"> 

<cfset this.name = "client_product_v1_6_1_0_r1_o"> 

되었다 그리고 그것은 일하기 시작했다.

관련 문제