Значение не попадает в ожидаемый диапазон. в Microsoft.SharePoint.SPWeb.GetWebRelativeUrlFromUrl при извлечении файла из библиотеки документов

У меня есть сайт extrnet, на котором есть общий файл документа. Я могу нормально загружать файлы, просматривать их и т. Д. Но когда я пытаюсь проверить один из них, чтобы внести изменения, я сразу получаю следующее:

Значение не попадает в ожидаемый диапазон. в Microsoft.SharePoint.SPWeb.GetWebRelativeUrlFromUrl (String strUrl, Boolean includeQueryString, Boolean canonicalizeUrl) в Microsoft.SharePoint.SPWeb.GetWebRelativeUrlFromUrl (String strUrl) в Microsoft.SharePoint.SPWeb. .get_File () в Microsoft.SharePoint.ApplicationPages.Checkin.OnLoad (EventArgs e) в System.Web.UI.Control.LoadRecursive () в System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPointStages, Boolean includeStagesBeforeAsyncPointStages, Boolean includeStagesBeforeAsyncPointStages, Boolean include

И это вошла в систему как администратор. Мы будем очень благодарны за любые идеи.


person alienavatar    schedule 08.07.2011    source источник


Ответы (2)


Я ранее получал эту ошибку при попытке доступа к системе, работающей в 64-битной ОС, когда код 32-битный ИЛИ пользовательский код .NET работает в версии .NET выше 3.5.

Я не совсем уверен, что, иначе это точно так же, как указано в ошибке, и что URL-адрес, передаваемый в GetWebRelativeUrlFromUrl, не соответствует ни одному SPS-сайту в ферме.

person Nat    schedule 10.07.2011
comment
Спасибо, Нат, он работал год с тех пор, как мы создали коллекцию сайтов. Но внезапно появляется эта странная проблема. - person alienavatar; 11.07.2011
comment
И я искал метод GetWebRelativeUrlFromUrl, но не получил никакой документации по этому поводу. - person alienavatar; 11.07.2011

у меня это произошло по методу Web.GetFile. и это было решено после того, как выяснилось, что эта функция работает только в том случае, если файл находится на текущем сайте, а не на корневом сайте в моем случае. после копирования файла в активы рабочего сайта и изменения пути к файлу он работает

using (Stream tplStream =   
SPContext.Current.Web.GetFile("/sitename/SiteAssets/file.docx").OpenBinaryStream())
person Iman    schedule 02.11.2014