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

ОНОВЛЕННЯ: Я написав це питання на MSDN тут (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) і відповів Michael Washam Microsoft з короткою відповідь.

Я створив веб-сервіс, виступати з Фасад каталогу бізнес-даних для роздруку до списку SharePoint. Коли я використав це з моєї середовище розробки, вона працювала добре. Коли я це перенесено на новий сервер, Я помилка сталася:

System.IO.FileNotFoundException: У веб-застосунку в http://localhost/sandbox не знайдено. Переконайтеся, що ви ввели URL правильно. Якщо URL-адреса повинна бути вказує на наявний вміст, системному адміністратору, можливо, потрібно додати нове зіставлення URL-адреси запиту з потрібним застосунком. на Microsoft.SharePoint.SPSite...ctor(Ферму SPFarm, Урі requestUri, Булеві contextSite, SPUserToken userToken) на Microsoft.SharePoint.SPSite...ctor(Рядок requestUrl) на Conchango.xyzzy.GetExistingDocument(Рядок minId, Рядок maxId, Рядок titleFilter) у C:\Документи та SettingsPaulMy DocumentsVisual студії 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:лінія 69

Ось лінія 69:

за допомогою (SPSite сайту = новий SPSite("http://localhost/sandbox"))

Я пробував різні варіації на URL-адресу, включаючи використання реального імені сервера, її IP-адреса, косу риску на URL-адресу, д. Я завжди отримувала цю помилку.

Я використав Google аналітично. Багато людей загрожувати цього питання, чи варіації, але ніхто, здавалося це вирішена.

Tricksy ЛИШАЙНИК за умови такий детальний помилка, що вона не приходила мені в голову перевірити на 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() на Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& ферми, Логічне значення& isJoined)
Зона зборів, які не вдалося був:  MyComputer

Це відкриває нові напрямки досліджень, так було повернутися на Google. Що привело мене до цього на форумі: http://forums.codecharge.com/Posts.php?post_id = 67135. Що дійсно не допомогли мені, але вона почала змушує мене думати, було бази даних і/або безпеки питання. Я відмовлявся і Ендрю Коннелл опублікувати нарешті спрацьовує від думки, що мені слід переконатися, що ідентичність обліковий запис пулу застосунків мав належний доступ до бази даних. Я думав, що він вже зробив. Однак, мій колега пішов і дав app басейн ідентичності рахунок повний доступ до SQL.

Як тільки вона здійснив цю зміну, все, почав працювати.

Що сталося далі має кращий вигляд на Haiku вірш:

Проблеми, підняти руки.
Гойдалки і пропустити. Спробуй ще раз.
Успіх! Але як? Чому?

Вона не хотіла залишити все поодинці так, вважаючи за краще дати мінімальний необхідний дозвіл (і напевно віч-писати в блозі; Я бити нею до удару, muhahahahaha!).

Вона зняла послідовних дозволи від app басейн ідентичності обліковий запис до … вже не було будь-якого дозволу app басейн посвідчення облікового запису на всіх. Веб-служба продовжували працювати нормально.

Ми пішли і перезавантаження сервери. Все, що продовжує працювати нормально.

Так, Нагадаємо: Ми дали app басейн identity повний доступ і потім забрав його. Веб-служба почав працювати і ніколи не перестав працювати. Bizarre.

Якщо хто-небудь знає, чому, працювати, будь ласка, залиште коментар.

</кінець>

Бірки Technorati:

11 думки про «Рішення: System.io.FileNotFoundException на “SPSite = новий SPSite(URL-адреса)”

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

    Хороший пост, Дякую. У моєму випадку, моя проблема була вирішена шляхом зміни на веб-служба apppool, що колекції сайтів sharepoint у відповідності.

    Бувай,
    Фернандо A. Гомес F.

  2. Едгар Вілсон

    Привіт, Я ж проблема. При розробці на цьому ж комп'ютері з sharepoint server, Я використовую Asp розвитку сервер з різним дозволом безумовно не під не запущено ж ідентичності як sharepoint (більше про це тут: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) То й що, Я створюю новий сайт у службі IIS (порт 8080) з ж особистість як sharepoint.. і вуаля.
    Сподіваюся, це допоможе

  3. ZAC Boyles
    Існує хороший шанс, що роль сервера SQL для securityadmin Усунена проблема ви були з після того, як вона була РАН. Це був би хороший пояснення цього продовжує працювати.
  4. Феєричних

    Детальніше. Ми, які мають точно така ж проблема прямо зараз. Така проблема і несподівані/незрозумілі поведінки є саме тому багато розробників не може стояти, робота з SharePoint!

  5. Маркус

    Ця частина статті….”дав app басейн ідентичності рахунок повний доступ до SQL”, можете Докладніше розповісти? “App басейн ідентичності” я припускаю, що означає app басейн вузла sharepoint, Але “Повний доступ до SQL”, як ви даєте що? Створення Логін db-сервер для app басейн ідентичності, я думаю, що не є цілком достатньо…так це на sharepoint вмісту дБ, де новий Логін отримує dbo (?) доступ? Або інших sharepoint дБ, а також, як настроїти базу даних? Для мене, який жорстко, Оскільки моя БД вмісту sp мабуть не обробляються екземпляра sql server, мабуть це під “/Microsoft Office Servers/14.0/Data”, у всякому разі я не відображається в sql server мгр….будь-які ідеї, як я дати “Повний доступ до SQL” у цьому випадку? Будь-яка відповідь буде оцінили…я роду застрягли отримання мого консолі app створити об'єкт spsite!!

Дати відповідь

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