나는 20 가지 방법으로 인터페이스가있다. 나는 그들 중 20 가지의 10 가지 방법에 접근 할 수있는 clients.one의 다른 유형이있다. 나는 다른 클라이언트를 가지고있다. 액세스 할 수있는 20 가지 방법과 15 가지만 액세스 할 수있는 또 다른 방법을 제공합니다. 어떻게하면이 작업을 수행 할 수 있습니까? 작업 계약 인증을 위해 어떻게 할 수 있습니까? 어떤 속성입니까?이를 수행 할 수있는 다른 방법이 있습니까? 우리가 이것을 달성 할 수있는 여러 가지 방법이 있습니까?Wcf 다른 클라이언트 다른 방법 동일한 인터페이스
1
A
답변
5
모든 서비스를 의 모든 메소드에 노출시킬 수 있습니다.
너 은이 아니지만 일부 방법 (예 : 은 20 가지 방법으로 단일 서비스 계약을 맺을 수 없으며 그 중 10 가지만을 특정 클라이언트 집합에 노출합니다.
기본적으로 공개하려는 각 메소드 세트에 대해 하나의 서비스 인터페이스를 작성해야합니다.
그러면 서비스 클래스에서 처음 10 개의 메소드를 구현하고 해당 메소드에 액세스 할 수있는 모든 클라이언트에 해당 서비스를 공개 할 수 있습니다.
그런 다음 다른 5 개의 메소드로 두 번째 서비스 인터페이스를 가질 수 있으며 총 15 개의 메소드에 대해 첫 번째와 두 번째 인터페이스를 구현하는 두 번째 서비스 구현 클래스를 가질 수 있습니다. 일부 바인딩에서이 서비스를 다른 세트로 노출합니다. 클라이언트 - 등등 ....
-1
오늘 나는 똑같은 문제에 직면 해 있으며 실제로 달성하기 만하면됩니다. 기본적으로 N 개의 다른 .svc 파일과 N 개의 다른 인터페이스가 있습니다. 주 코드는 모든 기능을 가진/svc 인터페이스에 있습니다. 다른 인터페이스/svc 파일에서는 메소드를 선언해야하며 구현시 기본 객체를 선언 한 다음 메소드를 호출하면됩니다. 예를 들면 : - IMainInterface -
메인 인터페이스/SVC Main.svc 다른 인터페이스에서
class MainSVC
{
public void functionA()
{
//code
}
public void functionB()
{
//code
}
}
선언 만이 필요 : 고객 인터페이스/SVC - ICustomer -
class MainSVC
{
public void functionA()
{
Main main = new Main();
main.functionA();
}
}
Customer.svc을
물론 고객이 Main.svc가 아닌 Customer.svc를 사용해야합니다. 그렇지 않으면 모든 방법을 사용할 수 있습니다.
관련 문제
- 1. 다른 어셈블리에서 동일한 인터페이스 참조
- 2. 인터페이스 유형은 클라이언트 WCF
- 3. 다른 컴퓨터에서 실행되는 WCF 서비스 및 클라이언트
- 4. WCF 서비스의 다른 인터페이스를 상속하는 인터페이스
- 5. WCF 연결을 암호화하는 다른 방법
- 6. 클라이언트 측의 다른 파일에서 WCF 구성로드
- 7. XMPP에서 동일한 계정을 사용하는 다른 클라이언트 검색
- 8. 다른 프로세스의 동일한 포트를 사용하는 WCF 서비스?
- 9. WCF 인증/WCF REST Authetication .. 다른 방법?
- 10. WCF - 끝점에서 다른 기능을 분리하는 방법
- 11. 다른 도메인/프로젝트의 같은 인터페이스
- 12. 동일한 Windows 양식의 WCF 서비스 호스트와 WCF 클라이언트 프록시를 실행하면
- 13. C# 인터페이스 - 다른 인터페이스의 인터페이스 만 구현합니다.
- 14. WCF 각 끝점마다 다른 인증 방법
- 15. 동일한 객체 하나를 다른 두 개의 다른 활동으로 전달하는 방법
- 16. 다른 클라이언트 용 Django 앱
- 17. WCF 서비스에서 인터페이스 반환
- 18. 동일한 서버, 다른 도메인에서 다른 세션 필요
- 19. 다른 컴퓨터에서 동일한 culture에 대해 다른 DateTimeFormat
- 20. 다른 시스템에 동일한 빌드
- 21. 동일한 어셈블리의 다른 버전로드
- 22. WCF 서비스는 하나의 클라이언트 솔루션에서 작동하지만 다른 서비스에서는 작동하지 않습니다.
- 23. 다른 프로세스 간의 인터페이스 공유
- 24. 다른 확장자를 가진 Cython 인터페이스
- 25. Delphi - 다른 장치의 인터페이스 사용
- 26. 다른 포트에 wcf 응용 프로그램을 정의하는 방법
- 27. 다른 해상도/화면에서 동일한 앱을 제공하는 방법
- 28. 동일한 변수에 다른 선택 값을 저장하는 방법
- 29. 동일한 파일로 다른 오브젝트를 생성하는 방법
- 30. 동일한 도메인의 다른 위치에서 WordPress를 실행하는 방법
그래서 여러 조합이있는 경우 많은 서비스 계약을 맺고 동일한 구현 코드를 여러 번 작성하여 구현해야합니다 ...이를 수행하는 유일한 방법입니까? 메소드에 대한 보호를 설정할 수 있습니까? 우리는 우리의 서비스 클라이언트의 인증 정보를 개별적으로 확인하기 위해 운영 계약서에 속성을 작성합니까? –
다른 기능 세트가 필요한만큼 많은 ** 서비스 계약 **이 있어야하며 둘 이상의 서비스 구현 클래스가 필요할 수도 있습니다. 물론 서비스 구현 **은 많은 코드를 공유 할 수 있습니다! 다른 "외벽"만 있으면됩니다. 동일한 코드를 반복해서 작성할 필요가 없습니다! –