CredentialCache.Add 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 NetworkCredential 实例添加到凭据缓存。
重载
| 名称 | 说明 |
|---|---|
| Add(Uri, String, NetworkCredential) |
将 NetworkCredential 实例添加到凭据缓存中以用于 SMTP 以外的协议,并将其与统一资源标识符(URI)前缀和身份验证协议相关联。 |
| Add(String, Int32, String, NetworkCredential) |
NetworkCredential将用于 SMTP 的实例添加到凭据缓存,并将其与主机、端口和身份验证协议相关联。 使用此方法添加的凭据仅适用于 SMTP。 此方法不适用于 HTTP 或 FTP 请求。 |
Add(Uri, String, NetworkCredential)
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- 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)
参数
- authType
- String
名为 <
- cred
- NetworkCredential
NetworkCredential要添加到凭据缓存中。
例外
多次添加相同的凭据。
示例
下面的代码示例使用多个安全凭据初始化一个 CredentialCache ,并将这些凭据与 a 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)
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- 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)
参数
- credential
- NetworkCredential
NetworkCredential要添加到凭据缓存中。
例外
authenticationType 不是接受的值。
port 小于零。
示例
下面的代码示例使用多个安全凭据初始化, CredentialCache 以用于 SMTP,并将其中一个凭据与 A 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 缓存按向其添加凭据的顺序存储凭据。
支持的值为 authenticationType “NTLM”、“Digest”、“Kerberos”和“Negotiate”。
使用此方法添加的凭据仅适用于 SMTP。 此方法不适用于 HTTP 或 FTP 协议。