是否可以将TaskItem(或TaskList)添加到网站页面(Web Objects主页)?
我想提供一些上下文访问我的插件,我似乎无法找到一个很好的集成点。
答案 0 :(得分:0)
非常感谢IIS.net论坛上CarlosAg提供此答案的基础。
创建一个子类ProtocolProvider的类,并通过覆盖TaskList和GetSiteTaskList让它返回GetSitesTaskList。
在Module.Initialize方法中,从serviceProvider获取IExtensibilityManager
通过调用RegisterExtension将您的ProtocolProvider实例注册到IExtensibilityManager。
<强>更新强>
事实证明,ProtocolProvider只能为“站点”视图提供TaskList,但可以提供不同的TaskList,具体取决于所选的站点(如果有的话)。
要为网站的主页提供自定义TaskList(即包含功能列表),您需要实施IHomepageTaskListProvider并将其注册到上面提到的IExtensibilityManager。
在IHomepageTaskListProvider.GetTaskList实施中,您可以通过从Connection获取IServiceProvider并检查ConfigurationPath.PathType属性来确定当前“主页”是网站还是全局(这是一个ConfigurationPathType枚举)