답변
수 없습니다. 메서드 시그니처와 관련하여 WCF에는 많은 제한이 있습니다. 일부 제한 사항은 호스트 메커니즘 때문에 발생하며, 다른 제한 사항은 WSDL/MEX로 인해 발생합니다.
WCF를 사용하면 서비스 코드 및 오버로드 된 메서드 및 기타 많은 것들에서 기본 매개 변수를 사용할 수 있지만 서비스를 호스팅하거나 시작하거나 시작하거나 시작할 수는 있지만 작동하지 않을 수도 있습니다. 까다 롭습니다.
이 문제를 극복하기 위해 수행 한 작업은 필요한 경우 항상 nullable 매개 변수를 사용하고 내 클라이언트 코드에서 항상 자동 생성 클라이언트 프록시에 액세스 할 수있는 서비스 계층을 사용한다는 것입니다. 내 서비스 계층에는 내가 원하는 모든 과부하 및 선택적 매개 변수가 있습니다. 예 (더러운 코드) :
WCF 서비스 : (내게로 기록되지 자동 생성 된 프록시, 그러나 1)
[OperationContract]
[FaultContract(typeof(MyCustomFault))]
List<InventoryPart> SelectMany(string partialPartNumber, string division, int? subDivision, bool? isActive);
고객 서비스 레이어
public List<InventoryPart> GetParts(string partialPartNumber){
return GetParts(partialPartNumber, null);
}
public List<InventoryPart> GetParts(string partialPartNumber, string division){
return GetParts(partialPartNumber, division, null);
}
public List<InventoryPart> GetParts(string partialPartNumber, string division, int? subDivision){
return GetParts(partialPartNumber, division, subDivision, null);
}
public List<InventoryPart> GetParts(string partialPartNumber, string division, int? subDivision, bool? isActive){
// This method is the one that actually calls the client proxy channels and all.
}
내 클라이언트 응용 프로그램 클라이언트 서비스 계층을 소모합니다.
public void LoadPartNumbers(){
var parts = ClientServiceLayer.GetParts(this.txtPartNumber.Text, null, (int) this.cboDivisions.SelectedItem);
}
메소드 서명을 추가/변경할 때마다 서비스 참조를 업데이트해야 할 수도 있기 때문에 매번 변경하기가 어렵습니다. 어떤 사람이 회사를 떠났고 새로운 개발자가 들어 오면 어떻게 될까요? –
귀하의 질문을 이해할 수 있는지 잘 모르겠습니다. 이 해결 방법은 기본적으로 WCF 서비스에 단일 범용 메서드 (오버로드 없음)가 있고 클라이언트 서비스 계층에 모든 오버로드가 있고 오버로드 중 하나만 실제로 서비스 참조 자동 생성 프록시 메서드를 호출 함을 의미합니다. – DanielCuadra
- 1. InvokeMethod를 선택적 매개 변수로 사용할 수 있습니까?
- 2. 웹 서비스 메서드에서 매개 변수를 serialize하는 방법
- 3. .NET 3.5를 타겟팅하는 코드에서 선택적 매개 변수를 사용할 수 있습니까?
- 4. 재정의 된 메서드에서 특수 매개 변수를 사용할 수 있습니까?
- 5. 선택적 매개 변수를 사용하는 도메인 서비스 방법?
- 6. WCF 서비스 메서드에서 JSON 사용
- 7. 끝점 동작에서 매개 변수를 사용할 수 있습니까?
- 8. "서비스 참조 추가"를 사용할 때 선택적 메서드 매개 변수를 볼 수 없습니다.
- 9. 메서드에서 선택적 매개 변수 NSInteger를 만들 수 있습니까?
- 10. Microsoft.VisualBasic 컬렉션의 메서드에서 선택적 매개 변수
- 11. web.py의 템플릿에 선택적 매개 변수를 사용할 수 있습니다
- 12. WCF 서비스 생성자에서 매개 변수를 전송합니다. - 오류
- 13. 액션에 선택적 매개 변수를 보내는 방법이 있습니까?
- 14. WCF 프록시의 선택적 매개 변수
- 15. 메서드에서 동일한 매개 변수를 사용할 수 없습니다. CS0136
- 16. WCF 용 인터페이스를 구현할 때 선택적 매개 변수를 사용할 수 없습니다.
- 17. 선택적 매개 변수를 요청하는 방법?
- 18. RouteData에서 선택적 매개 변수를 확인할 수 없습니다.
- 19. 안드로이드 메서드에서 매개 변수를 가져옵니다
- 20. DTO에 선택적 매개 변수를 포함해도됩니까?
- 21. C# 확장 메서드에서 참조로 매개 변수를 전달할 수 있습니까?
- 22. Twist 개념으로 매개 변수를 사용할 수 있습니까?
- 23. MVC4에서 action이라는 매개 변수를 사용할 수 있습니까?
- 24. 클래스 생성자에서 매개 변수를 사용할 수 있습니까?
- 25. 선택적 매개 변수를 autofac에 전달하십시오.
- 26. 템플릿 바인딩에 선택적 바인딩 매개 변수를 추가 할 수 있습니까?
- 27. 오이 단계 중간에 선택적 매개 변수를 정의 할 수 있습니까?
- 28. java의 빌더 패턴에서 선택적 매개 변수를 건너 뛸 수 있습니까?
- 29. JavaScript에서는 선택적 매개 변수를 사용하여 함수를 만들 수 있습니까?
- 30. WCF Web API UriTemplate의 선택적 매개 변수
잘 모르겠습니다. 너는 할수 있니? (다른 말로하면 시도해보십시오.) –
@Tom W - 아무 것도 고맙습니다. 시도해 보았지만 작동하는 것처럼 보였습니다. 다니엘 쿠아드라의 도움이 필요하지 않은 답변을 포함하여 어디서나 읽지 않습니다. – BBauer42