我们目前在我们的自定义 DNN 模块上有以下代码:
public class FeatureController : ModuleSearchBase
{
public CommonDataDefinitions.Products.WebProductDetails ProductDetails { get; set; } = null;
public override IList<SearchDocument> GetModifiedSearchDocuments(ModuleInfo moduleInfo, DateTime beginDateUtc)
{
var searchDocuments = new List<SearchDocument>
{
WHAT CAN I RETURN HERE?
};
return searchDocuments;
throw new NotImplementedException();
}
}
我们的详细产品视图模块在使用 Web API 控制器加载时根据查询字符串中的 SKU 检索以下信息。
- 产品名称
- 产品描述
- 产品.图片
- 产品.价格
- Product.DetailedDescription
- Product.StockCode Product.MetaTitle
- Product.MetaKeywords
- 产品.元描述
SearchModulebase 代码将在 FeatureController 类中。每当有人从产品过滤器模块导航时详细查看产品时,都会加载此页面。
1. 由于每次有人点击特定产品时都会加载该模块。您如何只运行此代码一次并从 API 控制器返回所有产品?我们是否需要创建一个可以检索所有内容的对象?
2. 当所有产品都必须在 on load 事件中检索时,如何防止模块变慢?
3. DNN爬虫可以返回哪些SearchDocument信息进行索引?
4.当DNN爬虫读取Feature Controller代码时,如何初始化你的API Controller去获取和Populate要索引的结果?