2014-02-18 1 views
0

5 개의 AJAX 호출을하는 .Net 페이지 (예 : 아래에있는 것과 같은)를 호출하고 약간의 속도를 높이기 위해 은 이러한 호출 중 일부를 Global.asax로 이동하려고합니다. Application_Start 이벤트에서 호출 할 수 있습니까? 또한 아래의 "jqStatusID"드롭 다운 박스를 채우기 위해 데이터 json 구조 을 반복 할 수 있도록 "글로벌"변수에 "데이터"구조를 저장하는 방법은 무엇입니까? GLOBAL.ASAX에서 웹 서비스를 호출하고 'data'json 구조를 "global"struct 변수에 저장할 수 있습니까?

function GetStatusList(async) { 
    $.ajax 
    ({ 
     async: async 
    , url: "svc/Job.svc/JobView/GetStatusList" 
    , cache: false 
    , dataType: "json" 
    , error: function (jqXHR, textStatus, errorThrown) { } 
    , success: function (data, textStatus, jqXHR) { 
     $.each(data, function (key, value) { 
      JobInstanceStatus[JobInstanceStatus.length] = { 
       StatusID  : value.StatusID, 
       Name   : value.Name 
      }; 
      $(jqStatusID).append($("<option></option>").attr("value", value.StatusID).text(value.Name)); 
     }); 
     $(jqStatusID).multiselect('refresh'); 
    } 
    }); 
} 

는 jQuery를 클라이언트 측 기술이며, 따라서 서버 측에서 사용할 수 없습니다, 당신에게 모든

답변

0

먼저 감사드립니다. 둘째, 왜 AJAX 요청을 자신의 서버에 만드시겠습니까? 데이터에 직접 액세스하고 캐시 할 수 있습니다.

Application_Start에 요청을 보내려면 응용 프로그램 차원의 데이터 일 것이고 사용자 별 문제는 아닙니다. 이 경우 세션이 아닌 Cache을 사용해야합니다.

전화를 병렬로 보내려면 Task Parallel Library을 사용하여 서버 쪽 비동기 호출을 살펴볼 수 있습니다. 이는 설명하는 상황에 훨씬 더 적합합니다.

+0

죄송합니다. 저는 Global.asax에서 동일한 웹 서비스를 호출하고 json 데이터 구조를 어딘가에 저장하는 방법을 찾았습니다. CACHE 사용을 제안 하시겠습니까? 나는 그것에 대해 살펴볼 것이다. 고맙습니다. – Max

+0

'HttpClient' 또는'WebClient'를 통해 동일한 웹 서비스를 호출 할 수 있지만, 아약스는 클라이언트 측 기술이므로 사용자 측에서 서버 측 인 것을 사용해야합니다. 캐시는 이동하는 방법입니다. 데이터를 공유하려면 응용 프로그램의 모든 클라이언트가 필요합니다. –

+0

내가 필요한 것을 찾았습니다 : http://code.google.com/p/ajax-cache/wiki/HowTo - 아마도 코드 변경이 적은 최상의 방법입니다. .Net 캐시 옵션을 조사 할 것입니다. 뿐만 아니라 - 감사합니다. – Max

관련 문제