Как стать автором
Обновить

Комментарии 3

А такой вопрос. Допустим я создаю provider hosted приложение. У меня есть отличный UI на html5, который я хочу использовать. Но проблема в том что этот UI был подключен к Web API. Как организуете доступ к SharePoint из Web API?
Если вы хотите использовать именно provider-hosted приложение, то тут есть некоторые нюансы. Вообще я не сталкивался с такой задачей, однако изучив ваш вопрос вышел на следующую статью. В ней подробно описаны проблемы и как их решить. Коротко говоря, одно из отличий ApiController от MvcControler в том, что первый подразумевает статичность. А это значит, что ApiController не поддерживают сессию и HttpContext — это и является проблемой, т.к. оба компонента требуются для стандартного класса SharePointContext.cs. В статье предлагается использовать ActionAttribute, который бы проверял несет ли в себе ControllerContext информацию о SharePointContext и получать его через redirect к SharePoint сайту. Также придется переопределить SharePointContext на SharePointApiControllerContext, который не использует сессию и HttpContext.

Пока я писал этот ответ мне в голову пришла другая идея. Как вариант вы могли бы использовать SharePoint-hosted приложение. В этом случае вам необходимо будет использовать клиентские скрипты Web-приложения внутри App для отрисковки UI на стороне SharePoint и обащаться через JSONP с вашим web-приложением. В данном случае наверняка потребуется дополнительное исследование в зависимости от того как вы собираетесь поставлять ваш App.
А где у вас расположен Web API (внтури корп сети или вне) и какая аутенитификация в WebAPI и SharePoint?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий