2011-01-17 3 views
1



몇 일 전에 사례 연구를 보았습니다. 웹 응용 프로그램 아키텍처와 관련이 있습니다.
여기에 시나리오가 있습니다.
1000 개의 웹 응용 프로그램에서 사용되는 단일 웹 서비스가 있습니다. 이 웹 서비스는 특정 서버에서 호스팅됩니다. 웹 서비스 호스팅 위치가 변경되면 다른 응용 프로그램이이 변경 사항에 대해 어떻게 알 수 있습니까?
모든 응용 프로그램에 대해 web.config 파일을 수정해야하므로 web.config에 유지하는 것이 가능한 솔루션으로 보이지 않습니다.
이 설정을 공통 저장소에 유지하고 모든 응용 프로그램에서 웹 서비스 주소로 사용하도록 허용하는 것이 내 마음에 들었지만이 공용 저장소를 저장하는 문제가 있습니다.

더 나은 성능으로 어떻게 이것이 달성 될 수 있는지 궁금합니다.
미리 감사드립니다.웹 응용 프로그램 구성 설정 - 저장할 수있는 더 좋은 곳

답변

1

웹 서비스를 사용하는 모든 웹 응용 프로그램에 대한 전체 액세스 권한이나 제어 권한이 있습니까? 그렇다면 한 번에 모든 web.config를 업데이트하는 스크립트 또는 사용자 정의 코드를 가질 수 있습니다. 그것은 너무 많은 작업을하는 것처럼 보이지만 실제로 이런 식으로 당신은 더 많은 통제력을 가지게되고 결국에는 새로운 URL을 몇 가지 애플리케이션으로 지정하고 다른 URL을 다른 URL로 남겨 둘 수 있습니다.

중앙 데이터베이스에서 설정을 사용하면 오류가 발생할 경우 업데이트 전파가 빨라지므로 모든 응용 프로그램에서 동일한 위치를 참조하고이를 분할 할 방법이 없습니다. 그런 다음 어쨌든 중앙 집중식 데이터베이스에 모두 연결해야합니다. 어쩌면 데이터베이스에 연결 문자열이있는 web.config (s)에 키를 추가해야합니다. 그런 다음 데이터베이스에 연결할 수 없거나 작동이 중단 된 경우, 웹 애플리케이션은 단순히 URL을 얻을 수 없기 때문에 웹 서비스를 소비 할 수 없습니다.

나는 웹 설정으로 갈 것이고, 결국 UI 나 프런트 엔드가 url이 어디서 오는지 알 수 없도록 그 URL의 추출을 추상화하는 설정 도우미 클래스를 가질 수있다.

어쨌든 웹 서비스의 URL을 자주 변경 하시겠습니까? 그것을 새로운 URL에 복사하는 것이 더 좋을 것이 아니라 현재 URL에서 잠시 동안 계속 사용할 수 있습니까?

Web.config의 접근 방식의 또 다른 장점은 업데이트 및 데이터베이스의 변화는 시간이 걸릴 수 있습니다 동안 응용 프로그램이 일부 캐싱 메커니즘을해야하는 경우에 감지 할 수를 다시 시작할 때 저장이 매번,

희망이있다 도움이됩니다.

Davide.

+0

답장을 보내 주셔서 감사합니다. Davide. 전체 액세스 작성의 경우 스크립트가 유용 할 수 있습니다. 그러나 모든 웹 응용 프로그램이 서로 다른 여러 서버에서 호스팅되는 경우 문제가 발생할 수 있습니다. –

+0

물론 당신이 옳다면 다른 웹 서비스와 웹 메소드를 사용하여 다른 서비스에 사용할 최신 URL을 얻을 수 있습니다. 물론 헬퍼 서비스에 대한 영구 URL을 유지할 수있는 경우에만 적용됩니다. –

관련 문제