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

时间:2013-01-09 04:36:01

标签: sharepoint web-config telerik

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

是否进行了一些研究,显然新Web应用程序的web.config分三步生成,如下页所述(向下滚动到“web.config文件来自哪里”):

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

步骤:

  1. 应用Root web.config ...在我的情况下,此文件尚未修改。
  2. 补充了web.configs ...我看到最近没有创建或与Telerik有任何关系。
  3. 应用了配置数据库模型...我编写了一个应用程序,它列举了服务器场中每个Web应用程序的所有SPWebConfigModification修改,并且没有返回任何与Telerik相关的内容。
  4. 所以我的问题是,关于如何为新的网络应用程序生成web.configs,我缺少什么?

1 个答案:

答案 0 :(得分:0)

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

有了这个问题,现在我可以处理代码以删除不需要的mod。