2009-04-13 3 views
2

우리 시스템에는 동일한 asmx webservice를 공유하려는 여러 프로젝트가 있습니다. 아무도이 작업을 수행하는 방법에 대한 조언이나 모범 사례가 있습니까?여러 프로젝트에서 asmx webservices 재사용

문제는 webservices가 끊임없이 변하기 때문에 생산에 webreference를 추가 할 수 없다는 것입니다. 또한 개발을 할 때 내 로컬 컴퓨터를 가리 키기 때문에 위험합니다. localhost에 웹 참조를 추가해야합니까?

또한 여러 프로젝트에 흩어져있는 asmx 파일과는 달리 전용 webservices 프로젝트를 사용해야합니까?

감사합니다.

답변

2

웹 서비스의 주요 포인트 중 하나는 재사용이 가능하므로 어디에서나 사용할 수 있다는 것입니다.

문제는 정확히 무엇인지 명확하지 않지만 네트워크 액세스 권한이있는 응용 프로그램에서 웹 서비스를 사용할 수 있어야합니다.

-Edit-

일반적으로 전용 웹 서비스 프로젝트를 가지고 모범 사례로 간주됩니다. 여러 웹 서비스 프로젝트를 가질 수 있으며, 이러한 문제를 어떻게 해결할지는 귀하와 귀하의 비즈니스/기술 요구 사항에 달려 있습니다.

이것은 주요 문제를 해결해야합니다. 로컬 웹 서비스 프로젝트뿐만 아니라이를 사용하는 로컬 프로젝트가 있습니다. 이러한 프로젝트 중 하나 또는 둘 모두를 필요에 따라 프로덕션에 배포합니다.

+0

별도 웹 서비스 프로젝트를 사용할 것을 권장합니다. – Ryu

+0

비즈니스 및 프리젠 테이션 계층에서 데이터를 분리하려는 N-Tier 아키텍처의 표준 설치 프로그램입니다. Google N 계층과 웹 서비스를 사용하면 많은 예제를 찾을 수 있습니다. – AaronS

0

잘 모르겠습니다. 질문을 이해합니다. 프로덕션 환경에서 웹 서비스를 게시하는 경우 웹 서비스가 필요한 각 응용 프로그램에 웹 참조를 추가하기 만하면됩니다. 웹 서비스를 사용하는 전제는 개발자가 개발 환경에서만 사용하는 경우 GAC에 배포하거나 남겨 두는 표준 C# dll로 사용하는 것이 좋습니다.

0

당신이 필요로하는 것은 훌륭한 프로세스 소유권을 만드는 것이고, 여러 팀이나 부서에서 이러한 웹 서비스를 사용하기위한 문서를 만드는 것입니다. SOA 세계에서는 서비스 레지스트리를 만들어야 만 사용할 수있는 서비스를 쉽게보고 필요에 따라 다시 사용할 수 있습니다.

0

개발을 진행할 때 웹 참조를 로컬 시스템으로 지정하고 웹 서비스를 로컬로 실행하십시오. 나는 그걸로 아무런 문제가 보이지 않는다.

+0

생산으로 옮길 때 여전히 작동합니까? – Ryu

+0

프로덕션 환경에서 제대로 작동하려면 올바른 URL을 설정해야합니다. 구성 파일에서 URL을 읽고 런타임에 설정하십시오. – ibz

0

본인이 질문을 올바르게 이해한다면 개발 웹 서비스와 프로덕션 웹 서버를 갖고 싶습니다. 프로덕션 인스턴스는 마지막으로 디버깅/체크 된 빌드입니다. 디버그 인스턴스는 현재 작업중인 빌드입니다.

이 방법을 사용하려면 개발자 하위 도메인을 사용하는 것이 좋습니다. 두 가지 웹 서비스를 모두 사용할 수 있습니다. http://www.myapp.com/Service.asmxhttp://dev.myapp.com/Service.asmx. 두 하위 도메인은 모두 IIS의 다른 사이트입니다. 당신이 코드에서 웹 참조를 dev 서브 도메인에 바인드 할 것입니다.이 도메인은 웹 참조를 업데이트하는 데 사용할 도메인이 될 것입니다 (매개 변수를 변경하는 경우). 그런 다음 '#if not debug'를 사용하여 웹 서비스 객체 URL을 프로덕션 (릴리스) 코드의 www 사이트로 변경합니다.

이렇게하면 사용자가 만족할 때까지 디버그 서비스를 빌드 할 수 있습니다. 어느 시점에서 소프트웨어를 업데이트하고 (매개 변수가 변경된 경우) 새 dll을 릴리스 사이트에 업로드 할 수 있습니다.

웹 서비스를 별도의 프로젝트에 보관하여 배포 된 어셈블리를 간단하게 유지할 수 있습니다.

0

클래스 라이브러리 프로젝트를 만들고 거기에 웹 서비스를 정의해야합니다. 해당 프로젝트를 웹 응용 프로그램으로 참조한 다음 webservice asmx 파일에서 webservice 클래스를 가리 킵니다.

관련 문제