2011-03-20 6 views
3

즉시 OperationContract를 생성하거나 업데이트 할 수 있습니까? 그래서 예를 들면OperationContract 생성 또는 업데이트

: 사용자는 제어판 화면에서 버튼을 클릭합니다

  1. .
  2. 웹 서비스 또는 WCF 서비스가 새로운 기능으로 업데이트됩니다.
  3. 다른 사용자는 어디서나 새로운 기능을 사용할 수 있습니다.

실례로 나는 그것을 실제로 어떻게 보았는지 알지 못했지만 Visual Studio를 사용하는 동안 OperationContract 만 만들거나 생성 할 수 있습니다. 서비스가있는 동안에는 작동하지 않습니다. 이미 호스팅되었습니다.

도와주세요.

많은 감사

+0

어디에서 실제로 보았습니까? 그리고 고객이 업데이트해야한다는 것을 알고 있습니까? –

답변

0

당신은 즉시 어셈블리를 구축하는 System.Reflection를 사용할 수 있습니다. 이 링크를 확인하십시오

http://www.williamb.net/defining-and-hosting-wcf-service-contracts-at-runtime

+0

그리고 그들에 svcutil을 실행합니까? 해본 적있어? –

+0

svcutil은 필요하지 않습니다. 동적 프록시 클라이언트를 사용할 수 있습니다. –

0

이 SOAP 서비스를 할 수 없습니다. SOAP 서비스는 WSDL로 공개되는 계약을 정의합니다. 서비스를 수정 한 후에는 클라이언트가 새로운 작업 및 새로운 전송 된 데이터가 있음을 알아야하기 때문에 변경 사항에 대해 클라이언트에게 알려야합니다. 클라이언트는 보통 서비스에 의해 생성 된 어셈블리에 대한 액세스 권한이 없기 때문에 리플렉션은 옵션이 아닙니다. => 클라이언트는 새 작업과 새 데이터에 대해 통보 될 수 없으므로 직렬화 및 역 직렬화되어야합니다.

REST 서비스에서는 URI 및 HTTP 메소드로 액세스 할 수있는 자원을 정의하므로 REST 서비스로이 작업을 수행 할 수 있습니다. 그러나 다시 새로운 리소스를 사용할 수 있음을 클라이언트에게 알려야합니다. 이는 일반적으로 자원을 탐색하여 수행됩니다. 다른 리소스 및 해당 URI에 대한 정보가 들어있는 최상위 리소스가 있습니다. 메인 리소스에 새 리소스의 URI를 추가하기 만하면됩니다. 현재 버전의 WCF는 리소스 측면에서 생각하지만 여전히 운영 측면에서 작동해야하기 때문에이 접근 방식을 매우 복잡하게 만듭니다.

아직도 사람들이 왜 이런 식으로 동적 응용 프로그램을 만들려고하는지 이해할 수 없습니다. 푸시 버튼과 새로운 방법을 추가하는 것은 매우 복잡 할 것입니다. 아마도 당신이 당신의 질문을 수정하고 당신이하고 싶은 것을 설명한다면, 당신은 그것을 달성하는 더 좋은 아이디어를 얻을 것입니다.

관련 문제