我正在支持外部顾问创建的现有Sitecore数据提供程序。它在大多数情况下都有效,但在填充我需要进行故障排除的字段时似乎存在一个错误。
我正在尝试确定调试的最佳方法。查看/编辑内容项时是否执行了数据提供程序?或者内容项目发布时?或两者兼而有之?
此外,调试数据提供程序的最佳做法是什么?是否可行/可能创建单元测试?
这可能是相关的,也可能不相关,但是这个特定的数据提供程序是建立在Spring Framework之上的,这意味着一个巨大的配置文件是该提供程序将填充的Sitecore项目和字段。
答案 0 :(得分:3)
Sitecore中的每个“数据库”(主/核/ Web)实际上是一个开放的通道,任何数量的数据提供者都可以订阅和响应。当Sitecore中发生任何数据库请求时,所有已实现该请求方法的数据提供者都将触发并有机会响应。这些请求方法的示例如下:
GetParentID
GetItemVersions
GetItemFields
SaveItem
您可以像调试Sitecore中的任何其他代码一样调试这些数据提供程序(附加到IIS工作进程),无论它是否触发,都取决于此数据提供程序实现的方法。您可能会发现一个方法是该方法没有触发,因为该项目现在已缓存,以确保不会发生这种情况,只需重置应用程序池,最好的方法是点击web.config或重建项目。 / p>
希望有所帮助,如果您正在寻找another example,您还可以尝试拆分我去年写的数据提供商。