2009-08-27 3 views
5

나는 wcf 서비스를 가지고있다. 서비스 자체 (ServiceContract을 상속하는 클래스)에는 때때로 예외를 throw하는 생성자가 있습니다. 서비스가 실패하면 사용자에게 메시지를 표시하려고합니다. 내가 서비스 방법처럼 잘못을 사용해야합니까?WCF 서비스의 생성자는 오류 처리에 오류를 사용해야합니까?

+2

WCF 서비스에 실패 할 수있는 생성자가있는 이유는 무엇입니까? 그리고, 솔직히 ... 왜 생성자를 가지고 있습니까? WCF는 원하는대로 서비스 인스턴스를 생성하고 파기 할 수 있습니다 ... 특히 예외를 throw 할 수있는 경우에는 생성자를 사용하여 문제를 묻는 것뿐입니다. – jrista

답변

2

오류는 일반적으로 서비스 경계를 ​​넘어 오류 정보를 제공하기위한 것이므로 대부분의 경우 잘못된 또는 잘못된 요청 메시지에 대한 응답으로 오류가 전송됩니다. 그렇다면 여기에 잘못이 없다고 말할 수 있습니다.

나는 서비스 클래스의 생성자가 예외를 던지면 안된다는 위의 의견에 동의한다. 서비스가 세션에 충실한 경우 특정 서비스 작업의 결과로 이러한 유형의 초기화를 수행하는 디자인을 고려할 수 있습니다. WCF에서 [OperationContract] 특성에 "IsInitiating = true"과 같은 서비스 작업을 표시하여이 작업을 수행 할 수 있습니다. 이 시점에서 이 오류를 생성하고 의도 한 클라이언트에 도달 할 것이라는 희망을 가질 수 있습니다.