"缺少服务器端相关性"的内容定位
SharePoint 运行状况分析器已检测到一些值得关注的关键问题。其中一条为:
作为管理员,我如何能知道哪些地方用到了这个WebPart呢? Google搜索到2条很有用的途径。
1、通过stsadm来查找webpart的引用状况。
stsadm -o enumallwebs -includewebparts >c:\temp\somelog.txt
在返回的xml结果中,可以看到每个web下的webpart节点。
<Databases> <Database 。。。> <Site Id="76754f86-f517-4d46-8331-58378678401f" 。。。> <Webs Count="50"> <Web Id="ef027756-f112-4765-a5b8-d5a13c1b7417" Url="/" LanguageId="2052" TemplateName="STS#0" TemplateId="1"> <WebParts> <WebPart Id="baf5274e-a800-8dc3-96d0-0003d9405663" Count="20" Status="Missing SafeControls entry" Type="Microsoft.SharePoint.WebPartPages.ListViewWebPart" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> <WebPart 。。。。 </WebParts> </Web> 。。。
从中就可以找到一些错误的原因。即使出现在藏的很深的一个子网站里,都可以找到。
2、直接通过数据库来查找。用来检查错误的timerjob实际上在对应的内容数据库上运行了一个这样的查询:
SELECT tp_WebPartTypeId, COUNT(1), tp_Assembly, tp_Class FROM AllWebParts (NOLOCK) WHERE tp_WebPartTypeId IS NOT NULL GROUP BY tp_WebPartTypeId, tp_Assembly, tp_Class
通过错误信息提供给我们的WebPartTypeId,进行如下的查询:
SELECT * FROM AllWebParts WHERE tp_WebPartTypeId = 'b82a8e9d-8706-3252-0a3b-ba19bf65e250'
结果中,找到了我要的SiteId。
该表还有一些其他的信息,可供我们排错。常用的几个表以及关系如下:
SELECT Webs.FullUrl, Webs.Title, AllDocs.DirName, AllDocs.LeafName
FROM AllDocs, Sites, AllWebParts, Webs
WHERE Webs.Id = Sites.RootWebId AND AllDocs.Id = AllWebParts.tp_PageUrlID
AND Sites.Id = AllDocs.SiteId
参考资料
Missing Server Side Dependencies - 8d6034c4-a416-e535-281a-6b714894e1aa
分类:
SharePoint
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构