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