SharePoint 2010 Web应用程序Web.config是如何生成的?

SharePoint 2010 Web应用程序Web.config是如何生成的?,sharepoint,web-config,telerik,Sharepoint,Web Config,Telerik,不知何故,每当我创建新的Web应用程序时,我的服务器场中的每个SharePoint应用程序Web.config都会自动添加一个额外的“Telerik.Web.UI.WebResource.axd_*”处理程序。我需要摆脱这种修改,因为每次创建新的web应用程序时,它都会破坏服务器场上的所有站点。我还没有弄明白怎么做。卸载Telerik产品(RadControls for SharePoint)并没有解决该问题。(事实上,卸载过程莫名其妙地在我们手动删除的web.configs中重新添加了处理程序

不知何故,每当我创建新的Web应用程序时,我的服务器场中的每个SharePoint应用程序Web.config都会自动添加一个额外的“Telerik.Web.UI.WebResource.axd_*”处理程序。我需要摆脱这种修改,因为每次创建新的web应用程序时,它都会破坏服务器场上的所有站点。我还没有弄明白怎么做。卸载Telerik产品(RadControls for SharePoint)并没有解决该问题。(事实上,卸载过程莫名其妙地在我们手动删除的web.configs中重新添加了处理程序。)

进行了一些研究,新web应用程序的web.config显然是按以下页面所述的3个步骤生成的(向下滚动到“web.config文件从何而来”):

步骤:

  • 根web.config已应用…在我的情况下,此文件未被修改
  • 应用了补充的web.configs…我没有看到最近创建的或与Telerik有关的
  • Config DB mods已应用…我编写了一个应用程序,该应用程序枚举了服务器场中每个web应用程序的所有SPWebConfigModification修改,但没有返回任何与Telerik相关的内容

  • 所以我的问题是,关于如何为新的web应用程序生成web.configs,我遗漏了什么?

    没关系,我解决了这个问题。我在原始帖子中的问题的答案是,我没有遗漏任何关于如何生成配置的内容。问题是,我迭代所有SPWebConfigModification mod的过程显然是错误的(这是有文档记录的吗?)。我没有获取服务器场的实例并通过SPWebService web应用程序进行迭代,而是将其更改为通过SPWebService.ContentService返回的mods进行迭代。这揭示了Telerik所做的改变

    SPWebService spService = SPWebService.ContentService;
    if (spService != null)
    {
        Collection<SPWebConfigModification> modifications = spService.WebConfigModifications;
        if (modifications != null)
        {
            for (int i = modifications.Count - 1; i >= 0; i--)
            {
              ...
            }
        }
    }
    
    SPWebService spService=SPWebService.ContentService;
    if(spService!=null)
    {
    集合修改=spService.webconfig修改;
    如果(修改!=null)
    {
    对于(inti=modifications.Count-1;i>=0;i--)
    {
    ...
    }
    }
    }
    

    解决了这个问题后,现在我可以编写代码来删除不需要的mod。

    (还有特定于SharePoint的堆栈;它的填充量较少,但这个问题可能更适合于此,因为它更面向管理而不是开发。)也许Telerik有一些功能可以添加SPWebConfigModification,甚至可以直接更改web.config。@pst,我继续并将问题发布到SharePoint堆栈中。@Oleg,我也是这么想的,但现在的问题是如何删除添加的内容。我正在查看农场上当前SPWebConfigModifications的列表,而Telerik没有任何内容。