【问题标题】:Web.config in asp.net?ASP.NET 中的 Web.config?
【发布时间】:2010-07-19 09:46:14
【问题描述】:

我对我的 Web 应用程序有疑问,是否可以在 smtp mailSetting 标记中放置两个网络标记。 我在 SMTP 中放置了两个网络标签,但是当我发送邮件时,我收到了这个错误。该元素只能在此部分中出现一次。 (C:\Inetpub\vhosts\example.com\httpdocs\web.config 第 64 行) 这是我的网络配置代码......

<system.net>
<mailSettings>
  <smtp>
    <network host="webmail.example.com" port="25" userName="info@example.com"  Password="asdf"  defaultCredentials="false"/>
    <network host="webmail.yyy.com" port="25" userName="info@yyy.com"  Password="asdf254"  defaultCredentials="false"/>
  </smtp>
</mailSettings>

【问题讨论】:

  • 我在邮件设置标签中放置了两个 SMTP 详细信息,但是当我发送邮件时出现此错误。该元素只能在此部分中出现一次。 (C:\Inetpub\vhosts\XXX.com\httpdocs\web.config 第 64 行)
  • 这是我的网络配置代码...

标签: asp.net configuration email


【解决方案1】:

您可以使用 AppSettings 部分并添加任意数量的配置值。您可以使用例如:

<appSettings>
   <add key="SMTP1" value="smtpserver1"/>
   <add key="SMTP2" value="smtpserver2"/>
   <add key="SMTP3" value="smtpserver3"/>
   <add key="SMTP4" value="smtpserver4"/>
</appSettings>

然后在您的代码中决定使用哪个服务器。

【讨论】:

    【解决方案2】:

    你不能。虽然您可以在 AppSettings 部分中携带尽可能多的详细信息。

    【讨论】:

      【解决方案3】:

      SMTP 详细信息部分用于指定默认值。要拥有多个,您需要编写一些代码来从应用程序中读取您自己的自定义值,甚至实现您自己的配置部分。

      【讨论】:

        【解决方案4】:

        如果您想为不同的部署配置设置不同的设置,我会使用 Web.config 转换。它是在 ASP.NET 4.0 中引入的。

        当您在本地主机上构建项目时,您可以有一个默认设置,当您将其发布到服务器时,将使用另一个默认设置。

        参考: http://msdn.microsoft.com/en-us/library/dd465326(VS.100).aspx

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-10-24
          • 2011-04-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-10-12
          相关资源
          最近更新 更多