0

最近、新しい1.7SDKを使用するようにAzureソリューションをアップグレードしました。CSPackは、レガシー構文で実行されており、完全なIISで実行するにはサービス定義の定義が必要であると警告しました。これが私が追加したものです。

 <Sites>
  <Site name="Web" physicalDirectory="..\Portal\MyApp.Portal">
    <Bindings>
      <Binding name="HttpIn" endpointName="HttpIn" />
    </Bindings>
  </Site>
</Sites>

Webロールは、web.configで定義されている次のメール設定を持つMVC3アプリケーションです。

<system.net>
<mailSettings>
  <smtp deliveryMethod="Network">
    <network host="smtp.gmail.com" userName="support@myapp.com" enableSsl="true" port="587" password="mypassword"/>
  </smtp>
</mailSettings>

これらの設定は、SMTPクライアントを宣言し、それを使用して電子メールを送信するだけで、コードから電子メールを送信するためにweb.configから適切に取得されます。

SmtpClient client = new SmtpClient();

しかし、サービス定義にセクションを追加すると、設定が使用されず、電子メールが試行されるたびにSMTPホストが指定されていないことがわかります。新しいSmtpClient()には、configの設定がありません。これを修正する方法がわかりません。また、他の場所で情報を見つけることもできません。

4

1 に答える 1

0

サイトの名前を「Web」以外に変更してみてください。

この構文には、「Web」という名前のサイトでは、physicalDirectoryなどのすべての設定が無視されるという十分に文書化されていない機能があります。これが機能する場合は、指定されたphysicalDirectoryが実際に必要かどうかを検討することをお勧めします。

于 2012-07-16T04:15:55.073 に答える