현재 Windows 서비스 프로젝트에서 작업 중입니다. 내가 그 DLL에서 함수를 사용해야 할 때 내 프로젝트에서 외부 클래스 라이브러리에 대한 참조를 추가했습니다.Windows 서비스 대 Windows Form 응용 프로그램 VB.NET
그러나 클래스 라이브러리 함수는 세션 값을 가져 오는 것이지만 Windows 만 있기 때문에 이러한 웹 메서드를 사용할 수 없습니다. 이 문제를 해결하기위한 두 가지 접근 방식 만 생각할 수 있습니다.
1) 외부 클래스 라이브러리에서 필요한 함수를 오버로드하고 세션 값을 입력 매개 변수로 바꿉니다. 이 함수가 참조하는 많은 세션 값을 가지고 있으므로이 작업은 시간이 오래 걸릴 수 있습니다.
2) 대신 Windows 양식 응용 프로그램을 만들 수 있습니다. 웹 브라우저 컨트롤을 폼에 추가하십시오. 외부 프로젝트의 기능에 필요한 모든 입력 매개 변수를 갖도록 URL을 구성하십시오. 백그라운드 프로세스로 실행할 스케줄러를 추가하십시오. 참조해야하는 ASP.NET에서 코딩 된 외부 프로젝트에서 Windows Forms app에서 URL을 가져 오는 새 페이지를 추가 할 수 있습니다. 쿼리 문자열을 구문 분석하여 입력 값을 가져오고 필요한 함수에 전달합니다. .
더 나은 방법이 있으면 제안 해주세요. 고맙습니다 !
Windows ** 웹 서비스 **와 Windows ** 서비스 **의 차이점이 있습니다. 귀하의 질문은 후자가 아닌 첫 번째 문제이므로 제목과 태그를 모두 수정했습니다. –
저는 세션 값을 사용할 수없는 이유에 대해 다소 혼란스러워합니다. 당신은 Windows Web Service Project에서 작업하고 있다고 말합니다. 세션에 액세스 할 수 없습니까? – Tim
켄 (Ken)이 웹으로 변경했다고 생각하지만 저는 웹이 아닌 Windows 서비스 응용 프로그램에서 작업하고 있다고 말하려고합니다. – user1681514