SharePointContextProvider.Current.GetSharePointContext(Context) возвращает значение null

У меня возникли некоторые проблемы с созданием размещенного у поставщика приложения для SharePoint Online. Идея этого приложения состоит в том, чтобы иметь в нем несколько частей для достижения различных функциональных возможностей. Я разработал страницу «Запросы», которая работает очень хорошо и взаимодействует с SharePoint, как и ожидалось, однако теперь я приступил к созданию еще одной.

Я добавил новую веб-форму в папку «Страницы» в обозревателе решений и начал разрабатывать свою страницу, как и раньше, однако при получении клиентского контекста код не работает. При дальнейшей отладке я обнаружил, что это SPHostUrl возвращает значение null, но я не уверен, почему это может вызвать проблему. Есть ли у SharePoint проблемы с приложениями, содержащими несколько веб-форм?

Любая помощь приветствуется.

Изменить: кажется, что URL-адрес вообще не проходит, поэтому значение SPHostUrl оттуда не извлекается. Почему это так?


person Tom Skidmore    schedule 15.12.2014    source источник


Ответы (1)


Убедитесь, что при первом запросе контекст SharePoint инициализирован правильно. Например, это делается в SharePointContextFilter с вызовом SharePointContextProvider.CheckRedirectStatus.

Класс SharePointContext требует, чтобы определенные параметры передавались как параметр запроса или как данные формы. SharePointContext сохранит эти значения в файлах cookie для дальнейших вызовов. Если вы инициализируете SharePointContext в первой веб-форме, где доступна вся необходимая информация, вы сможете использовать SharePointContext на других страницах, даже если не вся информация передается в URL-адресе.

person Pascal Berger    schedule 16.12.2014