1

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

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

http://www.charleslee.co.uk/blog/2010/10/28/webconfig/

脚步:

  1. 根 web.config 被应用...在我的情况下,这个文件没有被修改。
  2. 应用了补充的 web.configs...我看不到最近创建的或与 Telerik 有任何关系的。
  3. 应用了 Config DB mods...我编写了一个应用程序,它列举了场上每个 Web 应用程序的所有 SPWebConfigModification 修改,并且没有返回任何与 Telerik 相关的内容。

所以我的问题是,关于如何为新的 Web 应用程序生成 web.configs,我缺少什么?

4

1 回答 1

0

没关系,我解决了这个问题。我在原始帖子中的问题的答案是,我没有错过任何关于如何生成配置的内容。问题是我迭代所有 SPWebConfigModification 模块的过程显然是错误的(这些东西有记录吗?)。我没有获取农场实例并遍历 SPWebService Web 应用程序,而是将其更改为遍历 SPWebService.ContentService 返回的模块。这揭示了 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--)
        {
          ...
        }
    }
}

解决了这个问题,现在我可以处理代码以删除不需要的模块。

于 2013-01-10T04:06:51.950 回答