>

Windows 서비스에서 호출하는 WCF 서비스가 있습니다.

WCF 서비스는 SSIS 패키지를 실행하며이 패키지를 완료하는 데 시간이 걸릴 수 있으며 Windows 서비스가 완료 될 때까지 기다릴 필요가 없습니다.

WCF 서비스 호출을 비동기식으로 만들려면 어떻게해야합니까? (또는 기본적으로 비동기식입니까?)

  • 답변 # 1

    MSN의 다음 기사에서 모든 요구 사항을 충족합니다.

    비동기 서비스 작업 구현

    WCF 서비스 비동기 호출

    서비스 계약 설계

  • 답변 # 2

    Add Service Reference > click Advanced button > check the Generate Asynchronous Operations 의 Visual Studio 2010  확인란.

    그러면 비동기 작업이 추가되어 사용할 수있게됩니다.

  • 답변 # 3

    서비스 측 :

    [ServiceContract]
    public interface IMyService
    {
        [OperationContract]
        bool DoWork(int i);
    }
    
    

    클라이언트 측 :

    [ServiceContract(Name = nameof(IMyService))]
    public interface IMyServiceClient : IMyService
    {
        [OperationContract]
        Task<bool> DoWorkAsync(int i);
    }
    
    

  • 답변 # 4

    비동기 작업을 사용하려면 클라이언트 내부의 WCF 프록시 (Windows 서비스?)를 지정해야합니다.

    기존 WCF 프록시를 마우스 오른쪽 단추로 클릭하고 '서비스 참조 구성'을 선택하여 수정할 수 있습니다. 여기에서 '비동기 작업 생성'옆에있는 확인란을 선택하기 만하면됩니다

    그래서 WCF 프록시 쪽이 처리했습니다. 이제 클라이언트 내부의 프록시와 함께 APM (Asynchronous Programming Model)을 사용해야합니다.

  • 이전 jquery - IE8에서 페이딩 반투명 PNG 버그를 해결/해킹하는 방법?
  • 다음 javascript - Chrome에서 키보드 이벤트 발생