CredentialCache.Add Método

Definición

Agrega una NetworkCredential instancia a la caché de credenciales.

Sobrecargas

Nombre Description
Add(Uri, String, NetworkCredential)

Agrega una NetworkCredential instancia a la caché de credenciales para su uso con protocolos distintos de SMTP y lo asocia a un prefijo y protocolo de autenticación de identificador uniforme de recursos (URI).

Add(String, Int32, String, NetworkCredential)

Agrega una NetworkCredential instancia para su uso con SMTP a la memoria caché de credenciales y la asocia a un equipo host, puerto y protocolo de autenticación. Las credenciales agregadas mediante este método solo son válidas para SMTP. Este método no funciona para solicitudes HTTP o FTP.

Add(Uri, String, NetworkCredential)

Agrega una NetworkCredential instancia a la caché de credenciales para su uso con protocolos distintos de SMTP y lo asocia a un prefijo y protocolo de autenticación de identificador uniforme de recursos (URI).

public:
 void Add(Uri ^ uriPrefix, System::String ^ authType, System::Net::NetworkCredential ^ cred);
public void Add(Uri uriPrefix, string authType, System.Net.NetworkCredential cred);
member this.Add : Uri * string * System.Net.NetworkCredential -> unit
Public Sub Add (uriPrefix As Uri, authType As String, cred As NetworkCredential)

Parámetros

uriPrefix
Uri

que Uri especifica el prefijo URI de los recursos a los que la credencial concede acceso.

authType
String

Esquema de autenticación usado por el recurso denominado en uriPrefix.

cred
NetworkCredential

que NetworkCredential se va a agregar a la memoria caché de credenciales.

Excepciones

uriPrefix es null.

O bien

authType es null.

Las mismas credenciales se agregan más de una vez.

Ejemplos

En el ejemplo de código siguiente se inicializa un CredentialCache con varias credenciales de seguridad y se usan esas credenciales con .WebRequest

CredentialCache myCache = new CredentialCache();

myCache.Add(new Uri("http://www.contoso.com/"),"Basic",new NetworkCredential(UserName,SecurelyStoredPassword));
myCache.Add(new Uri("http://www.contoso.com/"),"Digest", new NetworkCredential(UserName,SecurelyStoredPassword,Domain));

wReq.Credentials = myCache;
Dim myCache As New CredentialCache()

myCache.Add(New Uri("http://www.contoso.com/"), "Basic", New NetworkCredential(UserName, SecurelyStoredPassword))
myCache.Add(New Uri("http://www.contoso.com/"), "Digest", New NetworkCredential(UserName, SecurelyStoredPassword, Domain))

wReq.Credentials = myCache

Comentarios

El Add método coloca una NetworkCredential instancia para su uso con protocolos distintos de SMTP en .CredentialCache La memoria caché almacena las credenciales en el orden en que se agregan a ella. Cuando se llama al GetCredential(Uri, String) método , devuelve la instancia coincidente NetworkCredential adecuada.

Se aplica a

Add(String, Int32, String, NetworkCredential)

Agrega una NetworkCredential instancia para su uso con SMTP a la memoria caché de credenciales y la asocia a un equipo host, puerto y protocolo de autenticación. Las credenciales agregadas mediante este método solo son válidas para SMTP. Este método no funciona para solicitudes HTTP o FTP.

public:
 void Add(System::String ^ host, int port, System::String ^ authenticationType, System::Net::NetworkCredential ^ credential);
public void Add(string host, int port, string authenticationType, System.Net.NetworkCredential credential);
member this.Add : string * int * string * System.Net.NetworkCredential -> unit
Public Sub Add (host As String, port As Integer, authenticationType As String, credential As NetworkCredential)

Parámetros

host
String

que String identifica el equipo host.

port
Int32

Int32 que especifica el puerto al que se va a conectar en host.

authenticationType
String

que String identifica el esquema de autenticación utilizado al conectarse a host mediante credential.

credential
NetworkCredential

que NetworkCredential se va a agregar a la memoria caché de credenciales.

Excepciones

host es null.

O bien

authenticationType es null.

authenticationType no un valor aceptado.

port es menor que cero.

Ejemplos

En el ejemplo de código siguiente se inicializa un CredentialCache con varias credenciales de seguridad para su uso con SMTP y se usa una de esas credenciales con .SmtpClient

SmtpClient client = new SmtpClient("ContosoMail", 45);
MailAddress from = new MailAddress("sender@SenderMailServerName.com", "Sender Name");
MailAddress to = new MailAddress("recepient@RecepientMailServerName.com", "Recepient Name");
MailMessage message = new MailMessage(from, to);

message.Body = "This is a test email message sent by an application. ";
message.Subject = "Test Email using Credentials";

NetworkCredential myCreds = new NetworkCredential("username", "password", "domain");
CredentialCache myCredentialCache = new CredentialCache();
try
{
    myCredentialCache.Add("ContoscoMail", 35, "Basic", myCreds);
    myCredentialCache.Add("ContoscoMail", 45, "NTLM", myCreds);

    client.Credentials = myCredentialCache.GetCredential("ContosoMail", 45, "NTLM");
    client.Send(message);
    Console.WriteLine("Goodbye.");
}
    catch(Exception e)
    {
          Console.WriteLine("Exception is raised. ");
          Console.WriteLine("Message: {0} ",e.Message);
    }
Dim client As New SmtpClient("ContosoMail", 45)
Dim from As New MailAddress("sender@SenderMailServerName.com", "Sender Name")
Dim sendTo As New MailAddress("recepient@RecepientMailServerName.com", "Recepient Name")
Dim message As New MailMessage(from, sendTo)

message.Body = "This is a test email message sent by an application. "
message.Subject = "Test Email using Credentials"

Dim myCreds As New NetworkCredential("username", "password", "domain")
DIm myCredentialCache As New CredentialCache()

Try 
    myCredentialCache.Add("ContoscoMail", 35, "Basic", myCreds)
    myCredentialCache.Add("ContoscoMail", 45, "NTLM", myCreds)

    client.Credentials = myCredentialCache.GetCredential("ContosoMail", 45, "NTLM")
    client.Send(message)
    Console.WriteLine("Goodbye.")
Catch e As Exception
    Console.WriteLine("Exception is raised. ")
    Console.WriteLine($"Message: {e.Message} ")
End Try

Comentarios

Este método coloca una NetworkCredential instancia para su uso con SMTP en .CredentialCache La memoria caché almacena las credenciales en el orden en que se agregan a ella. Cuando se llama al GetCredential(String, Int32, String) método , devuelve una NetworkCredential instancia seleccionada mediante la hostcoincidencia de , porty authenticationType. La comparación se realiza sin distinción entre mayúsculas y minúsculas.

Los valores admitidos para authenticationType son "NTLM", "Digest", "Kerberos" y "Negotiate".

Las credenciales agregadas con este método solo son válidas para su uso con SMTP. Este método no funciona para protocolos HTTP o FTP.

Se aplica a