幾個月前,我向Azure網站部署了一個應用程序,並且它按預期工作。昨天,在微軟發佈了一系列新功能之後,我注意到有一個選項可以從32位變成64位。我將網站配置從32位更改爲64位。除了當我嘗試使用標準SMTP .NET庫通過SendGrid發送電子郵件時,所有網站都能正常工作。SMTP在64位模式下無法在Azure網站上工作
這是個例外,我得到:
訪問被拒絕 「來源= 」系統「 詳細=」 System.Net.NetworkInformation.NetworkInformationException(0X80004005):訪問是在System.Net.NetworkInformation否認System.Net.Net.Net.Net.Information.SystemIPGlobalProperties.GetFixedInfo()在System.Net.Net.Net.Net.NetworkInformation.SystemIPGlobalProperties.get_FixedInfo()System.Net.Mail.SmtpClient.Initialize()System.Net.Mail.SmtpClient ..()
這是代碼:
var toAddress = new MailAddress(to, username);
using (var smtp = new SmtpClient())
using (var message = new MailMessage() {Subject = subject, IsBodyHtml = true})
{
message.To.Add(toAddress);
message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(body, null, MediaTypeNames.Text.Html));
smtp.Send(message);
}
Web.config文件:
<system.net>
<mailSettings>
<smtp from="[email protected]">
<network host="smtp.sendgrid.net" port="587" userName="[email protected]" password="xxxxx" />
</smtp>
</mailSettings>
</system.net>
我的開發環境配置爲64位和應用程序能夠發送電子郵件。 任何想法爲什麼它在Azure 64位模式下失敗?
謝謝!
您是否將Cloud Service部署在'Full Trust'或'Windows Azure Partial Trust'中? – astaykov
我正在使用網站進行部署。這是默認的完全信任。 – tmorell
我有同樣的問題。切換回32位固定它。有沒有人有解釋的差異? – CodeGrue