private static void GetSecondaryTokenCompleteCallback(IAsyncResult result) { if (result == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("result"); } if (!result.CompletedSynchronously) { MessageSecurityProtocol.GetTwoTokensAndSetUpSecurityAsyncResult asyncState = result.AsyncState as MessageSecurityProtocol.GetTwoTokensAndSetUpSecurityAsyncResult; if (asyncState == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("result", System.ServiceModel.SR.GetString("InvalidAsyncResult")); } bool flag = false; Exception exception = null; try { SecurityToken token = asyncState.secondaryProvider.EndGetToken(result); flag = asyncState.OnGetSecondaryTokenComplete(token); } catch (Exception exception2) { if (Fx.IsFatal(exception2)) { throw; } flag = true; exception = exception2; } if (flag) { asyncState.Complete(false, exception); } } }
internal static Message End(IAsyncResult result, out SecurityProtocolCorrelationState newCorrelationState) { MessageSecurityProtocol.GetTwoTokensAndSetUpSecurityAsyncResult result2 = AsyncResult.End <MessageSecurityProtocol.GetTwoTokensAndSetUpSecurityAsyncResult>(result); newCorrelationState = result2.newCorrelationState; return(result2.message); }