CredentialCache.Add CredentialCache.Add CredentialCache.Add CredentialCache.Add Method

Определение

Добавляет экземпляр NetworkCredential в кэш учетных данных.Adds a NetworkCredential instance to the credential cache.

Перегрузки

Add(Uri, String, NetworkCredential) Add(Uri, String, NetworkCredential) Add(Uri, String, NetworkCredential) Add(Uri, String, NetworkCredential)

Добавляет экземпляр NetworkCredential в кэш учетных данных для использования с протоколами, отличными от SMTP, и связывает его с префиксом URI и протоколом проверки подлинности.Adds a NetworkCredential instance to the credential cache for use with protocols other than SMTP and associates it with a Uniform Resource Identifier (URI) prefix and authentication protocol.

Add(String, Int32, String, NetworkCredential) Add(String, Int32, String, NetworkCredential) Add(String, Int32, String, NetworkCredential) Add(String, Int32, String, NetworkCredential)

Добавляет экземпляр NetworkCredential для использования вместе с SMTP в кэш учетных данных и связывает этот экземпляр с узлом, портом и протоколом проверки подлинности.Adds a NetworkCredential instance for use with SMTP to the credential cache and associates it with a host computer, port, and authentication protocol. Учетные данные, добавленные с помощью этого метода, допустимы только для SMTP.Credentials added using this method are valid for SMTP only. Этот метод не работает с запросами HTTP или FTP.This method does not work for HTTP or FTP requests.

Add(Uri, String, NetworkCredential) Add(Uri, String, NetworkCredential) Add(Uri, String, NetworkCredential) Add(Uri, String, NetworkCredential)

Добавляет экземпляр NetworkCredential в кэш учетных данных для использования с протоколами, отличными от SMTP, и связывает его с префиксом URI и протоколом проверки подлинности.Adds a NetworkCredential instance to the credential cache for use with protocols other than SMTP and associates it with a Uniform Resource Identifier (URI) prefix and authentication protocol.

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 Uri

Параметр Uri, определяющий префикс URI ресурсов, к которым предоставляется доступ посредством учетных данных.A Uri that specifies the URI prefix of the resources that the credential grants access to.

authType
String String String String

Схема проверки подлинности, которая используется ресурсом, названным в uriPrefix.The authentication scheme used by the resource named in uriPrefix.

cred
NetworkCredential NetworkCredential NetworkCredential NetworkCredential

Экземпляр NetworkCredential, добавляемый в кэш учетных данных.The NetworkCredential to add to the credential cache.

Исключения

Свойство uriPrefix имеет значение null.uriPrefix is null.

-или--or- authTypenull.authType is null.

Те же учетные данные добавляются несколько раз.The same credentials are added more than once.

Примеры

Следующий пример кода Инициализирует объект CredentialCache с несколькими учетными данными безопасности и использует эти учетные данные WebRequestс.The following code example initializes a CredentialCache with multiple security credentials and uses those credentials with a WebRequest.

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

Комментарии

Метод помещает экземпляр для использования с протоколами, отличными от SMTP CredentialCache, в. NetworkCredential AddThe Add method places a NetworkCredential instance for use with protocols other than SMTP into the CredentialCache. Кэш хранит учетные данные в том порядке, в котором они добавляются.The cache stores credentials in the order in which they are added to it. При вызове NetworkCredentialметодаон возвращает соответствующий экземпляр сопоставления. GetCredential(Uri, String)When the GetCredential(Uri, String) method is called, it returns the proper matching NetworkCredential instance.

Add(String, Int32, String, NetworkCredential) Add(String, Int32, String, NetworkCredential) Add(String, Int32, String, NetworkCredential) Add(String, Int32, String, NetworkCredential)

Добавляет экземпляр NetworkCredential для использования вместе с SMTP в кэш учетных данных и связывает этот экземпляр с узлом, портом и протоколом проверки подлинности.Adds a NetworkCredential instance for use with SMTP to the credential cache and associates it with a host computer, port, and authentication protocol. Учетные данные, добавленные с помощью этого метода, допустимы только для SMTP.Credentials added using this method are valid for SMTP only. Этот метод не работает с запросами HTTP или FTP.This method does not work for HTTP or FTP requests.

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 String String

Объект String, определяющий компьютер.A String that identifies the host computer.

port
Int32 Int32 Int32 Int32

Значение Int32, которое обозначает порт, через который следует подключаться к host.A Int32 that specifies the port to connect to on host.

authenticationType
String String String String

Строка String, указывающая схему проверку подлинности, используемую при подключении к host с использованием cred.A String that identifies the authentication scheme used when connecting to host using cred.

credential
NetworkCredential NetworkCredential NetworkCredential NetworkCredential

Экземпляр NetworkCredential, добавляемый в кэш учетных данных.The NetworkCredential to add to the credential cache.

Исключения

hostnull.host is null.

-или--or- Свойство authType имеет значение null.authType is null.

authType не является приемлемым значением.authType not an accepted value.

Значение параметра port меньше нуля.port is less than zero.

Примеры

В следующем примере кода инициализируется CredentialCache с несколькими учетными данными безопасности для использования с SMTP и использует одну из этих учетных данных SmtpClientс.The following code example initializes a CredentialCache with multiple security credentials for use with SMTP and uses one of those credentials with a SmtpClient.

  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: {0} ",e.Message)
  End Try

Комментарии

Этот метод помещает NetworkCredential экземпляр для использования с SMTP CredentialCacheв.This method places a NetworkCredential instance for use with SMTP into the CredentialCache. Кэш хранит учетные данные в том порядке, в котором они добавляются.The cache stores credentials in the order in which they are added to it. authType port hostПри вызове NetworkCredential метода он возвращает экземпляр, выбранный путем сопоставления, и. GetCredential(String, Int32, String)When the GetCredential(String, Int32, String) method is called, it returns a NetworkCredential instance that is selected by matching the host, port, and authType. Сравнение выполняется без учета регистра.The comparison is done case-insensitively.

Поддерживаемые значения authType : "NTLM", "Digest", "Kerberos" и "Negotiate".The supported values for authType are "NTLM", "Digest", "Kerberos", and "Negotiate".

Учетные данные, добавленные с помощью этого метода, допустимы только для использования с SMTP.Credentials added with this method are only valid for use with SMTP. Этот метод не работает для протоколов HTTP и FTP.This method does not work for HTTP or FTP protocols.

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