开发者社区 问答 正文

ECS Windows Server 2012服务器, IIS环境,访问Asp网站程序时报错



问题现象


ECS Windows Server 2012服务器, IIS环境,访问Asp网站程序时报错:在唯一密钥属性“value”设置为“index.asp”时,无法添加类型为“add”的重复集合项。


解决方案


在服务器上站点根目录下找到配置文件web.config,在<add value="index.asp">语句前,插入</clear>代码。修改完成后,然后进行访问测试验证问题是否解决。
修改前:


修改后:


如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系 云市场商家寻求帮助。

展开
收起
boxti 2017-11-02 14:13:49 1962 分享 版权
阿里云 AI 助理回答

根据您描述的问题,看起来是IIS配置中的web.config文件出现了重复的设置项,导致ASP网站无法正常运行。您提供的解决方案是正确的,通过在特定位置插入代码来避免配置项重复。这里我为您详细解释一下这个过程:

问题分析

错误信息“在唯一密钥属性“value”设置为“index.asp”时,无法添加类型为“add”的重复集合项。”意味着在<httpHandlers><handlers>部分(取决于IIS版本和配置),尝试为同一个处理程序(在这里是针对.asp文件)添加了多个相同的处理条目,而这是不允许的。

解决方案步骤

修改前的web.config片段可能类似于这样:

<system.webServer>
    <handlers>
        <!-- 其他handler配置 -->
        <add name="ASP" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\asp.dll" resourceType="File" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
        <!-- 可能存在另一个与上述类似的重复add条目 -->
    </handlers>
</system.webServer>

您提到的修改方法是:

为了避免重复,如果发现有完全一样的<add>条目,应该保留一个并移除另一个。但根据您的描述,似乎是在某个特定位置插入代码来解决潜在的配置冲突,这可能是为了确保某些自定义或默认设置能够正确优先。不过,直接插入代码段的具体内容没有提供,通常情况下,我们不会简单地“插入”代码,而是调整或删除已有的重复项。

如果您的意图是想通过某种方式让配置更加明确或者覆盖之前的设置,一种可能的做法是明确指定一个处理程序的优先级或条件,但这需要具体配置内容的支持。例如,如果确实需要插入而不是直接修改或删除,可能是这样的逻辑(仅示例):

<system.webServer>
    <handlers>
        <!-- 假设这里原本有一个重复的add项,我们先移除重复项 -->
        
        <!-- 然后,按照您的描述,如果是为了插入某种逻辑来避免冲突,可能是这样的 -->
        <remove name="ASP_Duplicate" /> <!-- 假定这是一个假设中需要移除的重复handler名称 -->
        <add name="CustomASPHandler" path="*.asp" verb="GET,HEAD,POST" 
             modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\asp.dll"
             resourceType="File" preCondition="integratedMode" /> <!-- 注意这里的preCondition可能根据实际情况调整 -->
        
        <!-- 其他handler配置 -->
    </handlers>
</system.webServer>

后续操作

  • 访问测试验证:完成上述修改后,务必重新加载IIS站点或重启IIS服务,然后进行访问测试,以确认问题是否得到解决。
  • 进一步求助:如果问题依旧,考虑到阿里云社区和云市场商家都是获取帮助的好渠道。在阿里云社区,您可以发布问题贴,众多技术专家和用户会提供帮助;云市场商家则可以提供更专业的技术支持,尤其是如果您使用的是从云市场购买的应用或服务。

希望以上信息对您有所帮助!如果有更具体的配置细节或遇到其他问题,欢迎继续提问。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答