WCF의 클라이언트에게 예외를 반환 할 수있는 마지막 순간은 언제입니까?
-
05-09-2019 - |
문제
iinstanceprovider의 구현에 이것을 가지고 있다고 가정 해 봅시다.
public void ReleaseInstance(InstanceContext instanceContext, object instance)
{
try
{
unitOfWork.Commit();
}
catch (Exception)
{
unitOfWork.Rollback();
throw;
}
finally
{
unitOfWork.Dispose();
}
}
저것 던지다; 서비스가 작업을 수행하고 데이터를 클라이언트에 반환 한 후에 호출되기 때문에 클라이언트에게 반환되지 않으므로 수행되므로 수행됩니다. 예외를 어떻게 반환 할 수 있습니까? 아니면 더 좋은 곳이 있습니까?
해결책
나는 당신이 이것을하기 위해 잘못된 장소를 찾고 있다고 생각합니다. 더 나은 선택은 idispatchmessageinspector 인터페이스를 구현하고 DispatchRuntime의 MessageInspectors 속성에 의해 노출 된 컬렉션에 첨부하는 것입니다 (동작을 통해).
다른 팁
저는 WCF의 거래에 익숙하지 않습니다. 위 코드에서 결과를 클라이언트에 반환하는 것은 무엇입니까? 롤백인가요?
제휴하지 않습니다 StackOverflow