Решение: System.IO.FileNotFoundException на “SPSite = новый SPSite(URL-адрес)”

ОБНОВЛЕНИЕ: Я разместил этот вопрос для MSDN здесь (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) и Michael Уошем Microsoft ответил с кратким ответом.

Я создал веб-службу в качестве BDC чистые фасад в список SharePoint. Когда я использовал это из моей среды разработки, Он работал штрафа. Когда я мигрировали это на новый сервер, Я столкнулся с этой ошибки:

System.IO.FileNotFoundException: Веб-приложение на http://localhost/sandbox не удалось найти. Убедитесь, что вы правильно ввели URL-адреса. Если URL-адрес должен служить существующее содержимое, системный администратор может потребоваться добавить сопоставление URL-адреса запроса в предполагаемой приложение. в Microsoft.SharePoint.SPSite...ctor(SPFarm ферма, URI requestUri, Логическое contextSite, SPUserToken userToken) в Microsoft.SharePoint.SPSite...ctor(Строка requestUrl) в Conchango.xyzzy.GetExistingDocument(Строка minId, Строка maxId, Строка titleFilter) в c:\Документы и студии DocumentsVisual SettingsPaulMy 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:линия 69

Вот строки 69:

использование (Сайт SPSite = новый SPSite("http://localhost/sandbox"))

Я пробовал различные вариации на URL-адрес, том числе с использованием реальное имя сервера, его IP-адрес, косой на URL-адрес, и т.д.. Я всегда получил эту ошибку.

Я использовал Google для исследования. Много людей сталкиваются с этой проблемой, или его вариации, но никто, как представляется, она решена.

Шалунов Мосс представила подробный ошибка, это не происходит для меня, чтобы проверить 12 куст журналы. В конце концов, о 24 часов после Мой коллега рекомендуется, что я делаю это, Я проверил 12 куст журнала и нашел это:

Произошло исключение при попытке приобрести местные фермы:
System.Security.SecurityException: Запрошенный доступ к реестру не допускается.
в System.ThrowHelper.ThrowSecurityException(ExceptionResource ресурс) в Microsoft.Win32.RegistryKey.OpenSubKey(Имя строки, Логическое значение для записи) в Microsoft.Win32.RegistryKey.OpenSubKey(Имя строки) в Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() в Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() atMicrosoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& ферма, Логическое значение& isJoined)
Зона Ассамблеи, не был:  Мой компьютер

Это открыло новые направления исследований, так было в Google. Это привело меня к этому форуме пост: HTTP://forums.codecharge.com/posts.php?post_id = 67135. Это не реально помочь мне, но она начала заставляет меня думать, что там была проблема базы данных и/или безопасности. Я soldiered на и Andrew Connell После наконец вызвали мысль, что я должен убедиться, что учетная запись удостоверения пула приложений имели соответствующий доступ к базе данных. Я думал, что он уже сделал. Однако, Мой коллега пошли и дал app пула удостоверение учетной записи полный доступ к SQL.

Как только она сделала это изменение, все начали работать.

Что случилось дальше лучший выражается как хайку Поэма:

Проблемы повышения их руки.
Вы качели и Мисс. Повторить.
Успех! Но как? Почему?

Она не хочет оставить вещи в одиночку подобное, предпочитая предоставить минимальные требуемые разрешения (и вероятно с создание записи блога; Я избил ее на удар, muhahahahaha!).

Она удаляется последовательных разрешения из учетной записи удостоверения пула приложений до … больше не существует явных разрешений для учетной записи удостоверения пула приложений на всех. Веб-службы по-прежнему работать нормально.

Мы пошли и перезагрузки серверов. Все по-прежнему работать нормально.

Таким образом, состав команды: Мы дали app бассейн личность полный доступ и затем забрал. Веб-служба начал работать и никогда не перестал работать. Необычный секс.

Если кто знает, почему это должно работал, Пожалуйста, оставьте комментарий.

</конец>

11 мысли о «Решение: System.IO.FileNotFoundException на “SPSite = новый SPSite(URL-адрес)”

  1. Фернандо Флорес Гомес

    Ницца должности, Спасибо. В моем случае, Моя проблема была решена путем изменения apppool webservice для соответствия коллекции сайтов sharepoint.

    Одобрительное восклицание,
    Фернандо a. Гомес f.

  2. Эдгар Уилсон

    Привет, Я также имел такую же проблему. При разработке на компьютере с sharepoint server, Я был с использованием сервера разработки Asp с различными разрешениями, не конечно не работает с удостоверением же как sharepoint (Подробнее об этом здесь: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).ASPX) Ну и что, Я уже создать новый сайт в IIS (Порт 8080) с тем же идентификатором, как sharepoint.. и вуаля.
    Понадейтесь что это помогает

  3. Zac Бойлс
    Существует хороший шанс, что роли сервера securityadmin SQL Исправлена проблема у вас когда он побежал. Это было бы хорошее объяснение для его продолжения работы.
  4. Волшебная

    Хорошая рецензия. Мы проводим точно такой же вопрос прямо сейчас. Такого рода проблемы и неожиданные/необъяснимые поведение это точно, почему многие разработчики не могу работать с SharePoint!

  5. Маркус

    Эта часть статьи….”дал полный доступ учетной записи удостоверения пула app для SQL”, Вы можете остановиться? “удостоверение пула приложений” я полагаю, означает группу приложений на сайте sharepoint, но “полный доступ к SQL”, как вы даете ли? Создание имени входа на сервере БД для удостоверения пула приложений, я думаю не достаточно…так это на база данных контента sharepoint, где получает новое имя входа dbo (?) доступ к? Или другие sharepoint db а также, как в конфигурации БД? Для меня это тяжело, потому что мой sp БД содержания видимо не обработаны экземпляром sql server, Видимо это под “/Microsoft Office Servers/14.0/Data”, Во всяком случае я не вижу его в sql server mgr….любые идеи, как я даю “полный доступ к SQL” в этом случае? Был бы признателен за любой ответ…я добрая, застрял получать мое приложение консоли для создания объекта spsite!!

Оставить ответить Бенджамин отменить ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *