SharePoint: SPContext.Current возвращает значение NULL для в SharePoint Foundation 2010 - PullRequest
3 голосов
/ 04 января 2012

Я использую приведенный ниже код для доступа к веб-приложению с sharepoint.

SPWebApplication webApplication = SPContext.Current.Site.WebApplication;

отлично работает с sharepoint server 2010 (MOSS2010) . Но когда я работаю с SharePoint Foundation 2010 (WSS4.0), SPContext.Current всегда возвращает ноль. Может кто-нибудь сказать мне, что может быть причиной этого? и как я могу решить эту проблему?

Спасибо и всего наилучшего, Шармила

Ответы [ 2 ]

4 голосов
/ 05 января 2012

Одна из наиболее распространенных причин, по которым SPContext считается нулевым, - это наличие неправильно настроенного AAM. Очень важно, чтобы sharepoint понимал, какие URL настроены для вашего сайта, потому что, если ваш URL не зарегистрирован, он не может сказать, находится ли URL внутри SPContext, следовательно, создайте его.

Самым распространенным изменением, которое я видел, является изменение заголовков хоста Сайт IIS. Это огромное нет-нет, пожалуйста, никогда не делайте этого (используйте ААМ вместо). Если вы продолжите и измените это любой из ваших новых добавленные заголовки будут только частично функциональны. Внутри SharePoint Есть много компонентов, которые полагаются непосредственно на URL и в особенно при поиске этого URL внутри. Что вы найдете (для разработчики), что ссылки на SPContext.Current (основной кусок SharePoint, боже) не будет работать. Это вызывает хаос наугад Страницы SharePoint, веб-части и пользовательские функции.

Посмотрите здесь, если вы хотите узнать, как настроить AAM (и выясните, почему они так важны), посмотрите мою запись в блоге на эту тему. http://blog.staticvoid.co.nz/2011/05/sharepoint-alternate-access-mappings.html

0 голосов
/ 04 января 2012

Когда вы создавали свой код, создавали ли вы его на компьютере с сервером SP2010, а затем развертывали код на компьютере Foundation? Если вы это сделали, я подозреваю, что вам нужно пересобрать код на сервере Foundation, ссылаясь на сборки Foundation, а не на сборки сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...