>

MVC 5에서 달성하고 싶은 특별한 행동이 있습니다.

느린 타사 API를 호출하는 페이지로드 후 시작되는 ajax 호출이 있습니다. 흐름은 다음과 같습니다.

<올>
  • 컨트롤러가 전화를받습니다.
  • 컨트롤러가 일부 세션 리소스에 액세스합니다.
  • 컨트롤러 호출 타사 API.
  • 컨트롤러 업데이트 세션 변수.
  • 컨트롤러 응답 요청.
  • 민감한 데이터가 포함되어 있기 때문에 고객에게 정보를 반환 할 수 없으므로 클라이언트 측에서 데이터를 보유하기 위해 별도의 호출로이 정보를 생성 한 다음 반환하지 않기 때문에 상태 비 저장 동작에 대해 타사 API를 호출 할 수 없습니다. 세션 업데이트 후 클라이언트 호출 결과.

    이것이 내가 원하는 것입니다 :

    <올>
  • 컨트롤러가 전화를받습니다.
  • 컨트롤러가 일부 세션 리소스에 액세스합니다.
  • 동시 통화가 액세스 할 수 있도록 세션 잠금을 해제합니다.
  • 컨트롤러 호출 타사 API.
  • 세션 잠금 및 세션 변수 업데이트
  • 컨트롤러 응답 요청.
  • 허용 가능한가요?

    도움을 주셔서 감사합니다.

    • 답변 # 1

      그래서 약간의 시도와 오류 후에 해결책을 찾았지만 추악합니다.

      내가 한 일은 응용 프로그램 캐시에서 요청에 대한 guid로 요청 매개 변수를 캐시하는 것입니다. 느린 타사 API를 호출하고 다른 아약스 호출을 보유하지 않는 상태 비 저장 컨트롤러를 호출하는 클라이언트에 guid를 전달하십시오. 완료되면 클라이언트에 guid를 반환하여 세 번째 ajax 호출을 수행하여 API 결과를 세션 변수에 적용한 다음 html을 새로 고칩니다.

      최선은 아니지만 지금까지 완벽하게 작동합니다. 캐시 된 요청을 재사용하기 위해 몇 가지 변경을 수행합니다.

  • 이전 machine learning - IsolationForest를 사용하여 고차원 데이터 집합의 특이 치를 탐지하는 올바른 방법
  • 다음 bigcommerce - 스텐실 cli - 설치 오류 :스텐실 초기화 :명령어를 찾을수 없음