다음 상황에서 선호하는 아키텍처가 무엇인지 궁금합니다.
SQL Server에 여러 데이터 파일을 동시에 일괄 업로드하는 .NET 응용 프로그램이 있어야합니다. 이는 사용자가 파일과 대상 테이블을 선택하고 각 업로드에 대한 개별 진행 상황 (오류 메시지 포함)을보고 할 수 있도록하는 WPF 애플리케이션에서 호출됩니다. 나는 이것에 대한 코드를 작성하는 데 전혀 문제가 없습니다. 그러나 사용자가 WPF 애플리케이션을 완전히 닫고 업로드 프로세스를 계속할 수 있어야한다는 요구 사항이 있습니다. 또한 사용자가 동일한 컴퓨터에서 WPF 응용 프로그램을 다시 시작하면 기존 업로드를 처리하고 프로그램이 닫히지 않은 것처럼 상태를보고 할 수 있어야합니다.
내 질문은 이것을 달성하는 방법은 무엇이며 가장 표준 / 적합한 것 같습니까?
실제로 WPF 응용 프로그램을 닫지 않고 모든 창을 숨기는 것을 고려했지만 이것은 속임수로 보입니다. 업로드가 진행되는 서버에서 WCF 서비스를 만들고 파일을 업로드하는 것이 가장 좋을까요? 나는 그것을 할 수 있다고 생각하지 않고 진행률 % 등을보고합니다. 로컬에서 실행되는 Windows 서비스의 경우 비슷한 효과를 얻을 수 있습니까? MemoryMappedFiles를 생각해야합니까?
당신의 모든 생각을 감사하십시오.
장기 실행 작업에 대해 이야기하고 있기 때문에 MSMQ를 통해 WPF 응용 프로그램과 통신하는 로컬 Windows 서비스를 사용합니다. 예를 들어 업로드 할 각 파일은 하나의 MSMQ 메시지로 표시 될 수 있습니다. WPF 응용 프로그램은 주기적으로 WPF가 실행 중인지 여부에 관계없이 영향을주지 않고 큐 및 Windows 서비스에 메시지를 넣고 큐 및 프로세스에서 가져와야합니다. 이것은 작업 (업로드)을 제공하는 간단하고 신뢰할 수있는 채널을 제공합니다.
클라이언트 (WPF 애플리케이션)에 Windows 서비스의 내부 상태를 제공하기 위해, 예를 들어 진행 상황을 알려주는 간단한 서비스가있는 WCF 엔드 포인트를 내부에 호스팅합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다