Решение: 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!!

Оставь ответ

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