CredentialCache.Add Metode

Definisi

Menambahkan instans NetworkCredential ke cache kredensial.

Overload

Nama Deskripsi
Add(Uri, String, NetworkCredential)

Menambahkan instans NetworkCredential ke cache kredensial untuk digunakan dengan protokol selain SMTP dan mengaitkannya dengan awalan dan protokol autentikasi Pengidentifikasi Sumber Daya Seragam (URI).

Add(String, Int32, String, NetworkCredential)

Menambahkan instans NetworkCredential untuk digunakan dengan SMTP ke cache kredensial dan mengaitkannya dengan komputer host, port, dan protokol autentikasi. Kredensial yang ditambahkan menggunakan metode ini hanya berlaku untuk SMTP. Metode ini tidak berfungsi untuk permintaan HTTP atau FTP.

Add(Uri, String, NetworkCredential)

Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs

Menambahkan instans NetworkCredential ke cache kredensial untuk digunakan dengan protokol selain SMTP dan mengaitkannya dengan awalan dan protokol autentikasi Pengidentifikasi Sumber Daya Seragam (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)

Parameter

uriPrefix
Uri

Uri yang menentukan awalan URI sumber daya yang diberikan kredensial akses.

authType
String

Skema autentikasi yang digunakan oleh sumber daya bernama di uriPrefix.

cred
NetworkCredential

untuk NetworkCredential menambahkan ke cache kredensial.

Pengecualian

uriPrefix adalah null.

-atau-

authType adalah null.

Kredensial yang sama ditambahkan lebih dari sekali.

Contoh

Contoh kode berikut menginisialisasi CredentialCache dengan beberapa kredensial keamanan dan menggunakan kredensial tersebut dengan 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

Keterangan

Metode ini Add menempatkan NetworkCredential instans untuk digunakan dengan protokol selain SMTP ke dalam CredentialCache. Cache menyimpan kredensial dalam urutan ditambahkan ke dalamnya. Ketika metode dipanggil GetCredential(Uri, String) , metode mengembalikan instans yang NetworkCredential cocok.

Berlaku untuk

Add(String, Int32, String, NetworkCredential)

Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs

Menambahkan instans NetworkCredential untuk digunakan dengan SMTP ke cache kredensial dan mengaitkannya dengan komputer host, port, dan protokol autentikasi. Kredensial yang ditambahkan menggunakan metode ini hanya berlaku untuk SMTP. Metode ini tidak berfungsi untuk permintaan HTTP atau 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)

Parameter

host
String

Yang String mengidentifikasi komputer host.

port
Int32

Int32 Yang menentukan port yang akan disambungkan pada host.

authenticationType
String

String Yang mengidentifikasi skema autentikasi yang digunakan saat menyambungkan ke host menggunakan credential.

credential
NetworkCredential

untuk NetworkCredential menambahkan ke cache kredensial.

Pengecualian

host adalah null.

-atau-

authenticationType adalah null.

authenticationType bukan nilai yang diterima.

port kurang dari nol.

Contoh

Contoh kode berikut menginisialisasi CredentialCache dengan beberapa kredensial keamanan untuk digunakan dengan SMTP dan menggunakan salah satu kredensial tersebut dengan 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

Keterangan

Metode ini menempatkan NetworkCredential instans untuk digunakan dengan SMTP ke CredentialCachedalam . Cache menyimpan kredensial dalam urutan ditambahkan ke dalamnya. Ketika metode dipanggil GetCredential(String, Int32, String) , metode mengembalikan instans NetworkCredential yang dipilih dengan mencocokkan host, , portdan authenticationType. Perbandingan dilakukan secara tidak peka huruf besar/kecil.

Nilai yang didukung untuk authenticationType adalah "NTLM", "Digest", "Kerberos", dan "Negosiasi".

Kredensial yang ditambahkan dengan metode ini hanya valid untuk digunakan dengan SMTP. Metode ini tidak berfungsi untuk protokol HTTP atau FTP.

Berlaku untuk