Teilen über


CredentialCache.Add Methode

Definition

Fügt dem Cache für Anmeldeinformationen eine NetworkCredential-Instanz hinzu.

Überlädt

Add(Uri, String, NetworkCredential)

Fügt dem Cache für Anmeldeinformationen eine NetworkCredential-Instanz für die Verwendung mit anderen Protokollen als SMTP hinzu und ordnet ihr ein URI (Uniform Resource Identifier)-Präfix und ein Authentifizierungsprotokoll zu.

Add(String, Int32, String, NetworkCredential)

Fügt dem Cache für Anmeldeinformationen eine NetworkCredential-Instanz für die Verwendung mit SMTP hinzu und ordnet ihr einen Hostcomputer, einen Anschluss und ein Authentifizierungsprotokoll zu. Mit dieser Methode hinzugefügte Anmeldeinformationen sind nur für SMTP gültig. Diese Methode funktioniert bei HTTP- oder FTP-Anforderungen nicht.

Add(Uri, String, NetworkCredential)

Quelle:
CredentialCache.cs
Quelle:
CredentialCache.cs
Quelle:
CredentialCache.cs

Fügt dem Cache für Anmeldeinformationen eine NetworkCredential-Instanz für die Verwendung mit anderen Protokollen als SMTP hinzu und ordnet ihr ein URI (Uniform Resource Identifier)-Präfix und ein Authentifizierungsprotokoll zu.

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)

Parameter

uriPrefix
Uri

Ein Uri, der das URI-Präfix der Ressource angibt, für die die Anmeldeinformationen Zugriff gewähren.

authType
String

Das von der in uriPrefix angegebenen Ressource verwendete Authentifizierungsschema.

cred
NetworkCredential

Die NetworkCredential, die dem Cache für Anmeldeinformationen hinzugefügt werden.

Ausnahmen

uriPrefix ist null.

- oder -

authType ist null.

Die gleichen Anmeldeinformationen werden mehr als einmal hinzugefügt.

Beispiele

Im folgenden Codebeispiel wird eine CredentialCache mit mehreren Sicherheitsanmeldeinformationen initialisiert und diese Anmeldeinformationen mit einem WebRequestverwendet.

CredentialCache^ myCache = gcnew CredentialCache;

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

wReq->Credentials = myCache;
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

Hinweise

Die Add -Methode platziert eine NetworkCredential Instanz zur Verwendung mit anderen Protokollen als SMTP in der CredentialCache. Der Cache speichert Anmeldeinformationen in der Reihenfolge, in der sie hinzugefügt werden. Wenn die GetCredential(Uri, String) Methode aufgerufen wird, gibt sie die richtige übereinstimmende NetworkCredential Instanz zurück.

Gilt für:

Add(String, Int32, String, NetworkCredential)

Quelle:
CredentialCache.cs
Quelle:
CredentialCache.cs
Quelle:
CredentialCache.cs

Fügt dem Cache für Anmeldeinformationen eine NetworkCredential-Instanz für die Verwendung mit SMTP hinzu und ordnet ihr einen Hostcomputer, einen Anschluss und ein Authentifizierungsprotokoll zu. Mit dieser Methode hinzugefügte Anmeldeinformationen sind nur für SMTP gültig. Diese Methode funktioniert bei HTTP- oder FTP-Anforderungen nicht.

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)

Parameter

host
String

Ein String, der den Hostcomputer bezeichnet.

port
Int32

Ein Int32, der den Anschluss angibt, mit dem auf dem host eine Verbindung hergestellt werden soll.

authenticationType
String

Ein String, der das Authentifizierungsschema bezeichnet, das beim Herstellen einer Verbindung mit dem host mithilfe von cred verwendet wird.

credential
NetworkCredential

Die NetworkCredential, die dem Cache für Anmeldeinformationen hinzugefügt werden.

Ausnahmen

host ist null.

- oder -

authType ist null.

authType ist kein zulässiger Wert.

port ist kleiner als Null.

Beispiele

Im folgenden Codebeispiel wird ein CredentialCache mit mehreren Sicherheitsanmeldeinformationen für die Verwendung mit SMTP initialisiert und einer dieser Anmeldeinformationen mit einem SmtpClientverwendet.

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

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

NetworkCredential^ myCreds = gcnew NetworkCredential("username", "password", "domain");
CredentialCache^ myCredentialCache = gcnew 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);
    }
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

Hinweise

Diese Methode platziert eine NetworkCredential Instanz zur Verwendung mit SMTP in der CredentialCache. Der Cache speichert Anmeldeinformationen in der Reihenfolge, in der sie hinzugefügt werden. Wenn die GetCredential(String, Int32, String) -Methode aufgerufen wird, gibt sie eine NetworkCredential Instanz zurück, die ausgewählt wird, indem sie mit den host, portund authTypeübereinstimmt. Beim Vergleich wird die Groß-/Kleinschreibung nicht beachtet.

Die unterstützten Werte für authType sind "NTLM", "Digest", "Kerberos" und "Negotiate".

Mit dieser Methode hinzugefügte Anmeldeinformationen sind nur für die Verwendung mit SMTP gültig. Diese Methode funktioniert nicht für HTTP- oder FTP-Protokolle.

Gilt für: