2011-10-06 1 views
3

웹 페이지의 버튼을 누른 후 특정 작업을 수행하는 다른 사람이 만든이 작은 웹 응용 프로그램 (1 페이지)을 사용하고 있습니다.콘솔 앱에 웹 앱이 있습니까?

이제 요구 사항이 약간 변경되었으므로 사용자 상호 작용없이 매주 실행하도록 자동화해야합니다.

코드 변경 작업을 최소화하면서이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

나는 내부적으로 웹 응용 프로그램을 참조하는 프로젝트에 콘솔 응용 프로그램을 추가하려고 생각했지만 작동하지 않는 것 같습니다.

실제로 콘솔 앱으로 웹 앱을 변환 하시겠습니까?

이 작업을 수행하는 간단한 방법이 있습니까?

감사

답변

0

기존 코드가 얼마나 잘 구성되어 있는지에 따라 달라집니다. 일반적인 접근 방식은 비즈니스 논리를 표현 계층과 분리하는 것입니다. VS에서는 일반적으로 클래스 라이브러리 프로젝트를 만들고 모든 비즈니스 로직을 유지합니다. 웹 응용 프로그램 프로젝트는 비즈니스 로직 클래스를 인스턴스화하고 메소드를 실행합니다.

이렇게하면 클래스 라이브러리 프로젝트를 참조하면됩니다. 반면에 웹 애플리케이션 프로젝트의 모든 로직을 가지고 있다면 수동으로 페이지 클래스를 인스턴스화하지 않아도되므로 빠른 방법은 없을 것입니다 (물론 그렇게 할 수도 있지만 서투른 것이고 권장하지 않음). 그렇다면 클래스 라이브러리 프로젝트를 만들고 콘솔 앱에서 사용해야하는 모든 로직을 이동해야합니다. 나는 꽤 많은 리팩토링이 필요할 것이라고 생각한다.

+0

네, 그게 제가 생각하고 피하려고 시도했지만 주위에는 다른 방법이없는 것처럼 보입니다. myabe를 웹 서비스로 변환하고 콘솔 앱에서 호출하는 방법? – user441365

+0

웹 서비스는 잔인한 소리처럼 들립니다. 그리고 나는 그 일을하기 위해 적어도 같은 양의 변화를 할 필요가 있다고 생각합니다. 클래스 라이브러리로 올바른 방법으로 시도해보십시오. –

1

첫째, 자신의 .NET 프로젝트에 상주 있도록 "특정 작업이"웹 응용 프로그램에서 세분화되어 있는지 확인하십시오. 이 프로젝트에 하나의 클래스가 포함되어 있어도 웹 기반 UI와 작업 자체를 "분리"합니다.

그런 다음이 새 프로젝트를 원하는대로 호출 할 수있는 다른 "래퍼 프로젝트"를 만들 수 있습니다. 콘솔 응용 프로그램은 작업을 수행 할 수도 있습니다. 예약 된 작업을 사용하여 콘솔 응용 프로그램을 실행할 수도 있고 Windows 서비스를 사용할 수도 있습니다.