WCF의 클라이언트에게 예외를 반환 할 수있는 마지막 순간은 언제입니까?

StackOverflow https://stackoverflow.com/questions/561981

문제

iinstanceprovider의 구현에 이것을 가지고 있다고 가정 해 봅시다.

public void ReleaseInstance(InstanceContext instanceContext, object instance)
{
    try
    {
        unitOfWork.Commit();
    }
    catch (Exception)
    {
        unitOfWork.Rollback();
        throw;
    }
    finally
    {
        unitOfWork.Dispose();
    }
}

저것 던지다; 서비스가 작업을 수행하고 데이터를 클라이언트에 반환 한 후에 호출되기 때문에 클라이언트에게 반환되지 않으므로 수행되므로 수행됩니다. 예외를 어떻게 반환 할 수 있습니까? 아니면 더 좋은 곳이 있습니까?

도움이 되었습니까?

해결책

나는 당신이 이것을하기 위해 잘못된 장소를 찾고 있다고 생각합니다. 더 나은 선택은 idispatchmessageinspector 인터페이스를 구현하고 DispatchRuntime의 MessageInspectors 속성에 의해 노출 된 컬렉션에 첨부하는 것입니다 (동작을 통해).

다른 팁

저는 WCF의 거래에 익숙하지 않습니다. 위 코드에서 결과를 클라이언트에 반환하는 것은 무엇입니까? 롤백인가요?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top