2012-09-11 4 views
1

제품 목록을 반환하는 웹 응용 프로그램을 만들었습니다. 이 페이지에서 사용자는 다양한 검색 기준 범위를 검색 할 수 있습니다.ASP.NET을 사용하여 이전 검색 기준 저장

사용자가 검색하고 결과가 페이지의 표로 반환되면 사용자가 제품을 편집 할 수 있습니다. 그러나 제품 목록 페이지로 돌아 가면 페이지가 다시로드되고 모든 제품이 다시 표시됩니다.

검색 결과를 유지하는 가장 좋은 방법은 무엇인지 알고 싶습니다. 검색 페이지로 돌아 가면 이전 기준이 유지됩니다.

스택 교환에 대한 몇 가지 게시물을 발견했습니다. - Best way to store previous search criteria in ASP.NET - 가장 좋은 것 중 하나입니다.

검색 기준을 유지하는 방법을 알 수있는 사람이 누구인지 알 수 없으므로 사용자가 검색 페이지로 돌아 오면 이전 검색 기준과 결과가 그대로 유지됩니다.

감사합니다.

답변

1

전체 검색을 쿼리 문자열로 표현할 수있는 경우 해당 쿼리 문자열 (또는 검색 기준)을 쿠키에 저장하는 것이 좋습니다. 물론 쿠키가 켜져 있다고 가정합니다.

사용자가 검색 페이지로 이동하면 쿠키에서 쿼리 문자열을 읽고 관련 결과를 반환 할 수 있습니다.

로드가 많은 시스템에서는 클라이언트 측 상태가 좋은 방법입니다. 수백 명의 동시 사용자가있는 경우 서버에 상태를 저장하고 싶지는 않습니다.

편집

OK, 당신은 세션의 결과를 저장하기로 결정 말한다. 그 문제는 무엇입니까? 결과가 더 이상 적합하지 않을 수 있습니다. 기본 데이터 저장소에서 변경 될 수 있으며 부정확 한 데이터를 표시하게됩니다.

사용자 당 100kb의 상당히 큰 결과 세트를 메모리에 저장한다고 가정 해보십시오. 동시 사용자가 200 명이라고 가정 할 때 이미 최소 100kb * 200을보고 있습니다. 이는 세션에 저장할 가능성이 높은 다른 데이터를 제외하고 20MB 미만입니다. 시스템이 커질수록 확장에 비용이 많이 듭니다.

한편 클라이언트에 검색 기준을 저장하면 수천 명의 사용자까지 쉽게 확장 할 수 있습니다. 쿠키에서 검색 기준을 검색하고 다시 검색하면됩니다.

저는 개인적으로 세션 상태에서 데이터를 저장하는 매우 좋은 이유가 있습니다. 나는. 사용자 민감한 데이터를 저장합니다.

에 대해서는 this question - 예, 작동 하겠지만 이미 말했듯이 서버에 결과를 저장하기로 결정하면 확장이되지 않습니다. 또한 응용 프로그램 풀이 다시 시작되거나 IIS가 다시 시작될 가능성이있는 경우 검색 조건을 잃게됩니다.

+0

나는 쿼리 문자열 방식을 사용하는 것을 고려했다. 이전에 찾은 게시물 당 세션에 저장하는 것에 대한 귀하의 생각은 무엇입니까? – thatuxguy

+0

"편집" –

+0

위를 참조하십시오. 답변 해 주셔서 감사합니다. 명확한 정직한 의견 :) 쿼리 문자열처럼 보이는 것입니다 앞으로 – thatuxguy

관련 문제