protected virtual void OnUserException(Exception e, String description)
{
Platform.Log(LogLevel.Error, e, "Unexpected User exception, description: " + description);
switch (State)
{
case DicomAssociationState.Sta2_TransportConnectionOpen:
OnNetworkError(e, true);
break;
case DicomAssociationState.Sta3_AwaitingLocalAAssociationResponsePrimative:
OnNetworkError(e, true);
break;
case DicomAssociationState.Sta4_AwaitingTransportConnectionOpeningToComplete:
OnNetworkError(e, true);
break;
case DicomAssociationState.Sta5_AwaitingAAssociationACOrReject:
OnNetworkError(e, true);
break;
case DicomAssociationState.Sta6_AssociationEstablished:
Platform.Log(LogLevel.Error, "Aborting association from {0} to {1}", _assoc.CallingAE, _assoc.CalledAE);
SendAssociateAbort(DicomAbortSource.ServiceProvider, DicomAbortReason.NotSpecified);
OnNetworkError(e, false);
break;
case DicomAssociationState.Sta7_AwaitingAReleaseRP:
OnNetworkError(e, true);
break;
case DicomAssociationState.Sta8_AwaitingAReleaseRPLocalUser:
OnNetworkError(e, true);
break;
default:
OnNetworkError(e, true);
break;
}
}