Webconfig 错误 ASPX 和 ASHX

Webconfig error ASPX and ASHX

我负责使用 ASPX 和 ASHX 维护一个旧的遗留网站(可能有 4-5 年没有被触及)。该网站在服务器 2003 上运行正常,但虚拟主机迫使我们移至 2008。移至 2008 后,我们收到此错误

Config Error    Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'WebCoreModule.ashx_*'

 178:       <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  179:       <add name="WebCoreModule.ashx_*" path="WebCoreModule.ashx" verb="*" type="Radactive.WebControls.ILoad.Core.WebCoreModule, Radactive.WebControls.ILoad.Core" preCondition="integratedMode,runtimeVersionv2.0" />
  180:     </handlers>

我做了相当多的研究,并多次尝试更改和使用 _* 无济于事,我什至尝试了另一个 post 的建议,建议我添加 <remove name "WebCoreModule.ashx_*" />到处理程序标签的开头,但收效甚微。网站加载,但 smtp.Send(msgMail) 电子邮件未发送,并且未显示任何错误。通常,我会尝试自己解决这个问题,但由于它被认为是一个失败的场景(只需删除该行就可以让网站 运行,但某些功能(例如电子邮件)不起作用)我将不胜感激我能得到的帮助。这是配置的其余部分

<handlers>
      <remove name="WebServiceHandlerFactory-Integrated" />
      <remove name="ScriptHandlerFactory" />
      <remove name="ScriptHandlerFactoryAppServices" />
      <remove name="ScriptResource" />
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add name="WebCoreModule.ashx_*" path="WebCoreModule.ashx" verb="*" type="Radactive.WebControls.ILoad.Core.WebCoreModule, Radactive.WebControls.ILoad.Core" preCondition="integratedMode,runtimeVersionv2.0" />
    </handlers>

如果您需要任何其他信息,请随时询问,我已无计可施,管理层对此深感悲痛。谢谢!

试试这个

<remove name="WebCoreModule.ashx_*" />
<add name="WebCoreModule.ashx_*" ...

在完全剥离现有电子邮件代码并添加新代码后,我发现问题是由默认配置端口和 SSLenable 的旧服务器引起的,而新服务器没有预先配置这些东西。我在 web.config 电子邮件部分使用 port = "587" Sslenable = true 解决了这个问题。