2008-09-22 6 views
0

저는 .NET의 C#에서 IHttpHandler을 생성하여 고전적인 ASP 페이지로 HTML 조각을 반환합니다.클래식 ASP, .NET 및 자바 스크립트간에 변수 값을 공유하려면 어떻게해야합니까?

클래식 ASP 페이지는 ServerXMLHTTP을 사용하여 기본 http 요청을 통해 IHttpHandler과 통신합니다 (JavaScript의 vbscript 또는 Ajax 호출).

이제는 VB 스크립트에는 있지만 .NET 응용 프로그램에서는 javascript에없는 변수를 공유 할 방법이 필요합니다.

고전적인 asp와 .net 사이에서 변수를 공유하는 첫 번째 비트는 http 요청에 추가 할 수 있으므로 문제가되지 않습니다. 변수는 자바 스크립트에서 사용할 수 없기 때문에 그러나 나는이 경우에는 할 수 없습니다.

나는 .NET 응용 프로그램에서 변수를 캐시하고 자바 스크립트 호출에 캐시 된 버전을 사용할 수 있다고 생각했습니다. 하지만이 작동하려면 .NET에서 "클라이언트"를 고유하게 식별 할 수있는 방법이 필요합니다.

System.Web.SessionState.IRequiresSessionState을 HttpHandler에 추가하고 SessionId를 사용하려고 시도했지만 모든 단일 호출 HttpHandler가 새로운 ID를 얻는 것 같습니다.

나는 올바른 생각을하고 있습니까? 내 옵션은 무엇입니까?

답변

0

asp 페이지의 서버 측 VB 스크립트에서 변수 값을 저장할 수있는 페이지에 숨겨진 변수를 갖는 방법은 어떻습니까?

그런 다음 JavaScript를 사용하여이 변수를 쿼리하여 ajax 호출을 통해 Asp.Net 처리기로 보낼 수 있습니다. 결국

그런 다음 당신이 자바 스크립트로 읽고 .NET 응용 프로그램에 요청을 보내는 포함, 그것으로 아무것도 할 수 쿠키에 값을 넣을 수
+0

흠, 가능한 경우 페이지의 변수를 인쇄하지 않으려합니다. – Ben

3

...

0

받는 내 솔루션

  1. 내가 정상 WS는
  2. 내가 웹 서비스에 해시 테이블에 변수 값을 저장하고 숨겨진 HTML로 클라이언트에 hashkey를 반환 요청과 함께 내 웹 서비스에 변수를 보내 : 문제는 다음이었다 개체 (나는 그것에 대한 머리 <meta> 요소를 사용)
  3. 자바 스크립트에서 해시 값을 읽고이를 헤더 값으로 http 요청에 첨부합니다.
  4. 웹 서비스가 해당 해시 키를 볼 때 그는 영구 해시 테이블에서 해당 변수 값을 찾습니다.

은 좋은 해결책이 될 수 있지만, 내 경우에서 잘 작동하는 것 같다 ...

0

나뿐만 아니라 쿠키를 권 해드립니다하지 않을 수 있습니다. 데이터베이스에서 값을로드 할 수도 있지만 과장 될 수 있습니다.

관련 문제