2011-01-08 5 views
1

.NET 웹 응용 프로그램의 몇 가지 기능을 어느 시점에서 (그리고있을 경우) 분리 된 웹 서비스로 나누는 것이 좋습니다.큰 웹 프로젝트를 만들거나 일부 기능을 웹 서비스로 분할 했습니까?

예를 들어 우리는 일련의 장기 실행 작업 (핵심 비즈니스 로직)을 호출하는 매우 큰 웹 응용 프로그램을 보유하고 있습니다. 또한 웹 프로젝트에서 직접 호출되는 클라이언트 관련 사용자 정의 기능이 포함 된 DLL도 있습니다. 때로는 수 시간 내에 이러한 클라이언트 기능을 변경하기 위해 매우 빠르게 이동해야합니다.

그러나 클라이언트 관련 기능 (또는 핵심 기능의 비상 변경)을 변경하고 새 프로젝트를 게시하면 앱이 다시 시작될 때 모든 사용자가 시스템 밖으로 퇴장합니다. 더 나은 방법이있는 것 같지만 ... 무엇이 될지 모르겠습니다. ...

답변

3

우선 UI와 관련이없는 웹 프로젝트의 모든 것을 제거하는 것이 좋습니다. 이를 별도의 클래스 라이브러리에 넣으십시오.

다른 응용 프로그램에서 호출하지 않으면 웹 서비스를 만들지 마십시오. 코드를 별도의 프로젝트에 배치하기 만하면됩니다. 웹 서비스는 요구 사항 인 경우에만 만들어야합니다.

+0

우리는 별도의 프로젝트로 나뉘어 있습니다 ...하지만 어떤 시점에서는 어플리케이션이 "너무 큽니다"는 것이 아닙니까? 특히 우리가 지속적으로 업데이 트하고 (그리고 단일 클라이언트가 dll에 대한 빠른 변경이 필요했기 때문에 사용자를 모두 내쫓는다면)? –

+0

별도의 사이트로 분리 할 수도 있지만 웹 서비스가 필요하지 않으면 웹 서비스가 필요하지 않습니다. 예를 들어 제 3자가 코드에 액세스해야하는 경우 웹 서비스에 넣으십시오. –

+0

하나의 dll을 빠르게 게시해야하지만 응용 프로그램을 다시 시작하여 100 명 정도의 연결된 사용자를 제외시키지 않으려면 어떻게해야합니까? –

0

저는 웹 서비스가 아닌 서비스 (Windows Service)와 같은 서비스 응용 프로그램을 만드는 것이 합리적이라고 생각합니다. Message Queue를 사용하여 웹 응용 프로그램과 서비스 응용 프로그램간에 통신 할 수 있습니다.

관련 문제