SharePoint 2010 Web应用程序Web.config是如何生成的?
不知何故,每当我创建新的Web应用程序时,我的服务器场中的每个SharePoint应用程序Web.config都会自动添加一个额外的“Telerik.Web.UI.WebResource.axd_*”处理程序。我需要摆脱这种修改,因为每次创建新的web应用程序时,它都会破坏服务器场上的所有站点。我还没有弄明白怎么做。卸载Telerik产品(RadControls for SharePoint)并没有解决该问题。(事实上,卸载过程莫名其妙地在我们手动删除的web.configs中重新添加了处理程序。) 进行了一些研究,新web应用程序的web.config显然是按以下页面所述的3个步骤生成的(向下滚动到“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应用程序生成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没有任何内容。