CredentialCache.Add Метод

Определение

NetworkCredential Добавляет экземпляр в кэш учетных данных.

Перегрузки

Имя Описание
Add(Uri, String, NetworkCredential)

NetworkCredential Добавляет экземпляр в кэш учетных данных для использования с протоколами, отличными от SMTP, и связывает его с префиксом универсального идентификатора ресурса (URI) и протоколом проверки подлинности.

Add(String, Int32, String, NetworkCredential)

NetworkCredential Добавляет экземпляр для использования с SMTP в кэш учетных данных и связывает его с хост-компьютером, портом и протоколом проверки подлинности. Учетные данные, добавленные с помощью этого метода, допустимы только для SMTP. Этот метод не работает для HTTP-запросов или FTP.

Add(Uri, String, NetworkCredential)

Исходный код:
CredentialCache.cs
Исходный код:
CredentialCache.cs
Исходный код:
CredentialCache.cs
Исходный код:
CredentialCache.cs
Исходный код:
CredentialCache.cs

NetworkCredential Добавляет экземпляр в кэш учетных данных для использования с протоколами, отличными от SMTP, и связывает его с префиксом универсального идентификатора ресурса (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)

Параметры

uriPrefix
Uri

Значение Uri , указывающее префикс URI ресурсов, которым учетные данные предоставляют доступ.

authType
String

Схема проверки подлинности, используемая ресурсом с именем in uriPrefix.

cred
NetworkCredential

Добавление NetworkCredential в кэш учетных данных.

Исключения

uriPrefix равно null.

–или–

authType равно null.

Те же учетные данные добавляются несколько раз.

Примеры

В следующем примере кода инициализируется CredentialCache несколько учетных данных безопасности и используются эти учетные данные с помощью .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

Комментарии

Метод Add помещает NetworkCredential экземпляр для использования с протоколами, отличными от SMTP, в CredentialCache. Кэш сохраняет учетные данные в том порядке, в котором они добавляются в него. При вызове GetCredential(Uri, String) метода возвращается соответствующий NetworkCredential экземпляр.

Применяется к

Add(String, Int32, String, NetworkCredential)

Исходный код:
CredentialCache.cs
Исходный код:
CredentialCache.cs
Исходный код:
CredentialCache.cs
Исходный код:
CredentialCache.cs
Исходный код:
CredentialCache.cs

NetworkCredential Добавляет экземпляр для использования с SMTP в кэш учетных данных и связывает его с хост-компьютером, портом и протоколом проверки подлинности. Учетные данные, добавленные с помощью этого метода, допустимы только для SMTP. Этот метод не работает для HTTP-запросов или 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)

Параметры

host
String

Объект, String определяющий главный компьютер.

port
Int32

Значение, Int32 указывающее порт для подключения host.

authenticationType
String

Объект String , определяющий схему проверки подлинности, используемую при подключении к host использованию credential.

credential
NetworkCredential

Добавление NetworkCredential в кэш учетных данных.

Исключения

host равно null.

–или–

authenticationType равно null.

authenticationType не принятое значение.

port меньше нуля.

Примеры

В следующем примере кода инициализируется CredentialCache несколько учетных данных безопасности для использования с SMTP и используют одну из этих учетных данных.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

Комментарии

Этот метод помещает NetworkCredential экземпляр для использования с SMTP в .CredentialCache Кэш сохраняет учетные данные в том порядке, в котором они добавляются в него. GetCredential(String, Int32, String) При вызове метода возвращается экземпляр, выбранный NetworkCredential путем hostсопоставления , portи authenticationType. Сравнение выполняется без учета регистра.

Поддерживаемые значения authenticationType : NTLM, Дайджест, Kerberos и "Согласование".

Учетные данные, добавленные с помощью этого метода, допустимы только для использования с SMTP. Этот метод не работает для протоколов HTTP или FTP.

Применяется к