2011-05-10 3 views
0

사용자가 다양한 항목을 검색 할 수있는 C#/asp.net 4.0 (MVC 아님) 웹 사이트가 있습니다. 검색/결과 기능은 다음과 같이 작동합니다.wcf 및 페이지 탐색에 대한 디자인 질문

검색 페이지에서 사용자는 검색 기준 (텍스트 상자, 드롭 다운 등)을 채우고 제출 버튼을 클릭합니다. on_click 이벤트 핸들러는 유효성 검사 및/또는 오류 검사를 수행합니다. 모든 것이 체크 아웃되면 모든 값을 보유하고 객체를 세션에 배치 할 객체를 만듭니다. 그런 다음 결과 페이지로 응답. 리디렉션을 수행합니다. 결과 페이지에서 객체를 읽은 후 wcf 서비스에 연락하여 객체를 전달합니다. wcf는 검색을 수행하고 결과 (있는 경우)를 리턴하고 결과를 표시합니다.

더 좋은 방법이 있다면 궁금합니다. 그것은 잘 작동하지만 뭔가 그것에 대해 옳다고 생각하지 않습니다. 개체를 세션에로드하는 것에 너무 열광하지 않습니다.

wcf에 개체를 보내고 (검색 기준과 함께) 리디렉션을 수행하여 wcf 서비스에서 응답을받을 때까지 결과 페이지를로드하는 것이 좋습니다. 결과를 얻은 다음에는 결과를 페이지에로드하십시오.

이것이 가능합니까? 모든 의견/링크를 부탁드립니다.

또한 우리의 wcf 서비스를 사용하는 타사가 없을 것입니다. 이것은 모두 내부입니다.

+0

결과 페이지에 표준 양식을 게시하고 검색 개체를 구성 할 수는 없습니까? 아마도 세션을 고수하면서 검색을 기억해야만한다면. – stephenl

답변

2

을 수행하는 방법 세 가지 방법이 있습니다 대신 검색 페이지에 게시 사용 간단한 GET으로 데이터 전달

  • 그. 검색 기준은 예를 들어 google에서와 같이 URL로 전달됩니다.
  • Cross page post back - .NET 2.0 이후 제공되는 기능. 세션을 제거하고 리디렉션합니다. Server.Transfer/Server.Execute을 사용할 수도 있습니다.
  • AJAX 콜백. 귀하의 검색은 양식을 게시하지 않지만 서비스를 직접 호출하여 결과를 얻습니다. ASP.NET script manager을 사용하거나 jQuery와 같은 간단한 자바 스크립트 프레임 워크를 사용할 수 있습니다. WCF 서비스는 webHttpEndpoint를 JSON 인코딩으로 노출해야합니다.
관련 문제