1

数か月前にアプリケーションを Azure Web サイトにデプロイしましたが、期待どおりに機能しました。昨日、Microsoft が一連の新機能をリリースした後、32 ビットから 64 ビットに変更するオプションがあることに気付きました。Web サイトの構成を 32 ビットから 64 ビットに変更しました。標準のSMTP .NETライブラリを使用してSendGrid経由で電子メールを送信しようとする場合を除いて、すべてのサイトが機能します。

これは私が得る例外です:

アクセスが拒否されました" source="System" detail=" System.Net.NetworkInformation.NetworkInformationException (0x80004005): System.Net.NetworkInformation.SystemIPGlobalProperties.GetFixedInfo() で System.Net.NetworkInformation.SystemIPGlobalProperties.get_FixedInfo() でアクセスが拒否されましたSystem.Net.NetworkInformation.SystemIPGlobalProperties.get_HostName() で System.Net.Mail.SmtpClient.Initialize() で System.Net.Mail.SmtpClient..ctor() で

これはコードです:

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="xxx@xxx.com">
      <network host="smtp.sendgrid.net" port="587" userName="xxx@azure.com" password="xxxxx" />
    </smtp>
  </mailSettings>
</system.net>

私の開発環境は 64 ビットとして構成されており、アプリケーションは電子メールを送信できます。Azure 64ビットモードで失敗する理由は何ですか?

ありがとう!

4

1 に答える 1

0

この問題が発生し、web.config ファイルと Azure アプリの設定に競合する値があることがわかりました。これらが web.config アプリの設定に直接マップされていないように見えるため、これらが Azure でどのように機能するか正確にはわかりません。すべての Azure アプリ設定を削除した後 (および web.config を残したまま)、メールは問題なく gmail 経由で送信されました。

于 2013-07-29T02:59:11.167 に答える