2012-05-17 2 views
2

양식을 제출 한 후 &이 콘텐츠를 보유하도록 저장하여 일부 필드의 사소한 변경으로 다시 복제 할 수 있도록하는 양식이 ASPX 페이지에 있습니다. 이 기능은 데이터 입력 시간을 절약하기 위해 제작되었습니다.인트라넷 사이트는 캐시되지 않지만 인터넷에 배포 된 사이트는 동일한 값을 캐시하는 이유는 무엇입니까?

저장 형식 & 인트라넷 설정에서 작동 할 때 콘텐트 유지 기능이 잘 작동합니다. 그러나이 사이트가 공용 액세스를 위해 인터넷에 배포되면 양식이 일관성없이 작동합니다.

양식 제출은 여러 번 작동하며 (이 숫자는 다양하게 유지됨) 양식 값을 저장합니다. &은 동일한 내용을 유지하지만 나중에 이전 데이터 항목의 값을 무작위로 표시합니다.

예를 들어 제품 정보를 저장하는 5 개의 필드 형태로 제목 만 변경할 수 있습니다. 처음으로 제목 필드에 "제품 1"값을 채우면 동일한 필드 값을 계속 표시하여 &을 저장합니다. 이 프로세스를 계속할 때 제목을 "Product 5"로 수정하려고하면 예상대로 "Product 5"를 유지하는 대신 해당 레코드 & "제품 3"을 저장할 수 없습니다.

ViewState 크기 제한 또는 일부 IIS 캐시 설정과 관련이 있습니까, 아니면 팜에 배포되어 있기 때문에이 작업이 있습니까? 누구나 인트라넷에서 작동하는 사이트 내의 양식이 인터넷 사이트로 게시 될 때 비슷한 방식으로 작동하지 않는 이유를 설명 할 수 있습니까?

+0

서버 측 컨트롤에 값을 유지하고로드하고 있습니까? 어떤 사건? –

+0

당신이 묘사하는 행동에 따라, 그것은 농장 때문이라고 말하고 싶습니다. 양식 데이터를 유지하는 방법에 대해 자세히 설명해 줄 수 있습니까? 또한 : 당신의 마지막 문장은 당신의 질문 제목과 반대입니다. –

+0

@Imran Rizvi 양식 값을 저장 한 후에는 사용자가 동일한 페이지로 리디렉션되지만 양식 값은 지워지지 않으므로 이전에 입력 한 값은 그대로 유지됩니다. – Yella

답변

1

세션 상태를 사용하고 응용 프로그램이로드 균형 조정 팜에 배포 된 경우 SQL Server를 사용하도록 세션 상태를 구성해야합니다. 무슨 일이 일어나고 무엇

는 타격이되는 세션 당신이 타격 상자에 따라 달라집니다, 그래서 다시 게시 다른 서버 안타 때 해당 서버에 세션에서 무엇이든 얻을 수 있습니다. MSDN과 같이 여기

은 Web.config의에서 예입니다

<configuration> 
    <system.web> 
    <sessionState mode="SQLServer" 
     sqlConnectionString="Integrated Security=SSPI;data 
     source=SampleSqlServer;" /> 
    </system.web> 
</configuration> 

편집 : 그래서, 당신은 세션 상태를 사용하지 않고, 어디서나 코드의 값을 만지지되지 않습니다. 그것은 단지 일종의 이상한 캐싱 일을 남겨 둡니다. 아마도 서버 팜에는 컴퓨터마다 다른 캐시 설정이 있습니다 ... 설명하는 동작을 얻을 수있는 유일한 방법입니다.

web.config에서 machine.config 캐시 설정을 무시할 수 있습니다. 시도해보십시오 :

<system.web> 
    <httpRuntime enableKernelModeCache="false"/> 
</system.web> 
+0

답변 주셔서 감사하지만 세션 상태를 사용하고 있지 않습니다. – Yella