CredentialCache.Add Methode

Definitie

Voegt een NetworkCredential exemplaar toe aan de referentiecache.

Overloads

Name Description
Add(Uri, String, NetworkCredential)

Voegt een NetworkCredential exemplaar toe aan de referentiecache voor gebruik met andere protocollen dan SMTP en koppelt het aan een URI-voorvoegsel (Uniform Resource Identifier) en verificatieprotocol.

Add(String, Int32, String, NetworkCredential)

Voegt een NetworkCredential exemplaar voor gebruik met SMTP toe aan de referentiecache en koppelt deze aan een hostcomputer, poort en verificatieprotocol. Referenties die zijn toegevoegd met deze methode zijn alleen geldig voor SMTP. Deze methode werkt niet voor HTTP- of FTP-aanvragen.

Add(Uri, String, NetworkCredential)

Voegt een NetworkCredential exemplaar toe aan de referentiecache voor gebruik met andere protocollen dan SMTP en koppelt het aan een URI-voorvoegsel (Uniform Resource Identifier) en verificatieprotocol.

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)

Parameters

uriPrefix
Uri

Een Uri die het URI-voorvoegsel aangeeft van de resources waartoe de referentie toegang verleent.

authType
String

Het verificatieschema dat wordt gebruikt door de resource met de naam in uriPrefix.

cred
NetworkCredential

De NetworkCredential te toevoegen aan de referentiecache.

Uitzonderingen

uriPrefix is null.

– of –

authType is null.

Dezelfde referenties worden meerdere keren toegevoegd.

Voorbeelden

In het volgende codevoorbeeld wordt een CredentialCache met meerdere beveiligingsreferenties geïnitialiseerd en worden deze referenties gebruikt met een 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

Opmerkingen

De Add methode plaatst een NetworkCredential exemplaar voor gebruik met andere protocollen dan SMTP in de CredentialCache. In de cache worden referenties opgeslagen in de volgorde waarin ze eraan worden toegevoegd. Wanneer de GetCredential(Uri, String) methode wordt aangeroepen, wordt het juiste overeenkomende NetworkCredential exemplaar geretourneerd.

Van toepassing op

Add(String, Int32, String, NetworkCredential)

Voegt een NetworkCredential exemplaar voor gebruik met SMTP toe aan de referentiecache en koppelt deze aan een hostcomputer, poort en verificatieprotocol. Referenties die zijn toegevoegd met deze methode zijn alleen geldig voor SMTP. Deze methode werkt niet voor HTTP- of FTP-aanvragen.

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)

Parameters

host
String

Een String die de hostcomputer identificeert.

port
Int32

A Int32 waarmee de poort wordt opgegeven waarmee verbinding moet worden gemaakt.host

authenticationType
String

Een String die het verificatieschema identificeert dat wordt gebruikt bij het maken van verbinding met host het gebruik.credential

credential
NetworkCredential

De NetworkCredential te toevoegen aan de referentiecache.

Uitzonderingen

host is null.

– of –

authenticationType is null.

authenticationType geen geaccepteerde waarde.

port is kleiner dan nul.

Voorbeelden

In het volgende codevoorbeeld wordt een CredentialCache met meerdere beveiligingsreferenties geïnitialiseerd voor gebruik met SMTP en wordt een van deze referenties gebruikt met een 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

Opmerkingen

Met deze methode wordt een NetworkCredential exemplaar voor gebruik met SMTP in de CredentialCache. In de cache worden referenties opgeslagen in de volgorde waarin ze eraan worden toegevoegd. Wanneer de GetCredential(String, Int32, String) methode wordt aangeroepen, wordt een NetworkCredential exemplaar geretourneerd dat is geselecteerd door de host, porten authenticationType. De vergelijking wordt niet hoofdlettergevoelig uitgevoerd.

De ondersteunde waarden zijn authenticationType 'NTLM', 'Digest', 'Kerberos' en 'Negotiate'.

Referenties die met deze methode zijn toegevoegd, zijn alleen geldig voor gebruik met SMTP. Deze methode werkt niet voor HTTP- of FTP-protocollen.

Van toepassing op