Допустим, у меня есть это в реализации IInstanceProvider:
public void ReleaseInstance(InstanceContext instanceContext, object instance)
{
try
{
unitOfWork.Commit();
}
catch (Exception)
{
unitOfWork.Rollback();
throw;
}
finally
{
unitOfWork.Dispose();
}
}
То, что throw; никогда не будет возвращено клиенту, потому что он вызывается после того, как служба выполнила свою работу и вернула данные клиенту, и поэтому выполняется. Как еще я могу вернуть исключение? Или есть лучшее место для этого?