Добавление пользовательских задач на страницу веб-сайта в IIS 7 (.5) - PullRequest
0 голосов
/ 27 августа 2009

Можно ли добавить TaskItem (или TaskList) на страницу веб-сайта (домашнюю страницу веб-объектов)?

Я хотел бы предоставить некоторый контекстный доступ к своему надстройке, и я не могу найти хорошую точку интеграции.

1 Ответ

0 голосов
/ 29 августа 2009

Большое спасибо CarlosAg на форумах IIS.net за основу этого ответа.

  1. Создайте класс, который подклассов ProtocolProvider и вернет ему TaskList путем переопределения GetSiteTaskList и GetSitesTaskList .

  2. В вашем методе Module.Initialize получите IExtensibilityManager от serviceProvider

  3. Зарегистрируйте экземпляр вашего ProtocolProvider в IExtensibilityManager, вызвав RegisterExtension .

Обновление

Оказывается, ProtocolProvider может предоставлять TaskList только для представления «Сайты», но может предоставлять другой TaskList в зависимости от того, какой сайт выбран (если есть).

Чтобы предоставить пользовательский TaskList для домашней страницы сайта (т. Е. Со списком функций), вам необходимо реализовать IHomepageTaskListProvider и зарегистрировать его в IExtensibilityManager , упомянутом выше.

В реализации IHomepageTaskListProvider.GetTaskList вы можете узнать, является ли текущая «домашняя страница» сайтом или глобальным, получив Connection от IServiceProvider и проверка свойства ConfigurationPath.PathType (это перечисление ConfigurationPathType )

...