Beispiel #1
0
        /// <summary>
        /// Add Or Update
        /// </summary>
        public bool Add(Uri uri, string authType, NetworkCredential credential)
        {
            if (null == credential)
            {
                return(Remove(uri, authType));
            }
            else
            {
                if (null == uri)
                {
                    return(false);
                }

                NetworkCredentialRecord id = new NetworkCredentialRecord(uri, authType);

                bool result = true;

                m_Cache.AddOrUpdate(
                    id,
                    Clone(credential),
                    (key, oldValue) => {
                    result = false;

                    return(Clone(credential));
                });

                return(result);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Obtain Credentials
        /// </summary>
        /// <param name="uri">Uri</param>
        /// <param name="authType">Authenication type</param>
        public NetworkCredential GetCredential(Uri uri, string authType)
        {
            NetworkCredentialRecord id = new NetworkCredentialRecord(uri, authType);

            if (m_Cache.TryGetValue(id, out NetworkCredential result))
            {
                return(Clone(result));
            }

            return(null);
        }
Beispiel #3
0
        /// <summary>
        /// Remove
        /// </summary>
        public bool Remove(Uri uri, string authType)
        {
            NetworkCredentialRecord id = new NetworkCredentialRecord(uri, authType);

            return(m_Cache.TryRemove(id, out var _));
        }