Решение: System.IO.FileNotFoundException на “SPSite = new SPSite(рачно)”

Ажурирање: Јас ја има пратено оваа прашање да MSDN тука (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.

Јас создаде веб сервис за да дејствува како ЦРБ-пријателски фасада to a SharePoint list. When I used this from my development environment, тоа добро работеа. Кога јас мигрирале оваа на нов сервер, Јас се сретнал оваа грешка:

System.IO.FileNotFoundException: Web апликацијата на http://localhost/sandbox не може да се најде. Се потврди дека сте ја внеле URL-то правилно. Ако рачно треба да се служат постоечките содржини, администраторот на системот може да се стави за да додадете ново барање рачно мапирање до наменети апликација. во Microsoft.SharePoint.SPSite .. ctor(SPFarm фарма, Ури requestUri, Булова contextSite, SPUserToken userToken) во Microsoft.SharePoint.SPSite .. ctor(Стринг requestUrl) во Conchango.xyzzy.GetExistingDocument(Стринг minId, Стринг maxId, Стринг titleFilter) во C:\Documents and Settings Пол My Documents Visual Studio 2005 Проекти xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:линија 69

Тука е линија 69:

користење на (SPSite сајт = new SPSite("http://localhost/sandbox"))

Се обидов различни варијации на URL-то, вклучувајќи и користење на вистинското име на серверот, неговата IP адреса, заостанува засеци на URL-то, итн. I always got that error.

Јас се користат На Google to research it. Lots of people face this issue, или варијации на тема, но никој не се чинеше дека го имаат решено.

Стегнат Мос под услов таквите детален грешка дека тоа не се случи да ми да се провери 12 hive logs. На крајот, за 24 часа по мојот колега препорачува правам така, Ги проверив надвор од 12 кошница најавите и најдов ова:

По исклучок попречува при обидот да се здобијат со локалната фарма:
System.Security.SecurityException: Бара регистар пристап не е дозволено.
во System.ThrowHelper.ThrowSecurityException(ExceptionResource ресурси) во
(Стринг име, Булова можат да се запишуваат) во
(Стринг име) во
() во
() во
(SPFarm& фарма, Булова& isJoined)
Зоната на собранието што не успеа беше:  MyComputer

Ова им отвори нови можности за истражување, па тоа се врати на Google. Тоа ме доведе до ова форум: HTTP://forums.codecharge.com / posts.php?post_id = 67.135. That didn’t really help me but it did start making me think there was a database and/or security issue. I soldiered on and Ендрју Connell на post finally triggered the thought that I should make sure that the application pool’s identity account had appropriate access to the database. I thought it already did. Сепак, мојот колега отиде и го даде на стан базен идентитет сметка целосен пристап до SQL.

Штом таа го направи таа промена, everything started working.

Што се случи следно е најдобро изразен како хаику песна:

Проблеми ги креваат рацете.
You swing and miss. Try again.
Успех! But how? Зошто?

Таа не сака да ги остави работите сами како што, претпочитајќи да даде потребниот минимум дозвола (и веројатно со окото на пишување блог запис; Ја победи на удар, muhahahahaha!).

Таа отстранета последователни дозволи од стан базен идентитет сметка до … there was no longer any explicit permission for the app pool identity account at all. The web service continued to work just fine.

We went and rebooted the servers. Everything continued to work fine.

Така, да повториме: we gave the app pool identity full access and then took it away. The web service started working and never stopped working. Bizarre.

Ако некој знае зошто тоа треба да работат, Ве молиме оставете коментар.

</крајот>

Technorati Тагови:

11 размислувања за "Решение: System.IO.FileNotFoundException на “SPSite = new SPSite(рачно)”

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

    Убаво мислење, благодарение. Во мојот случај, мојот проблем е решен со промена на apppool на webservice со онаа на сајтот SharePoint колекција.

    Cheers,
    Фернандо А. Gómez F.

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

    Hi, Јас исто така имав истиот проблем. Додека развој на иста машина со SharePoint Server, Јас бев со користење ASP развој Server, со различни дозвола не, секако, не работи под ист идентитет, како SharePoint (повеќе за оваа тука: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) па што, Јас сум креираш нова страница во IIS (пристаниште 8080) со истиот идентитет како SharePoint.. и Voila.
    Надевам дека ова ви помага

  3. Zac Boyles
    Постои добра шанса, дека securityadmin SQL сервер улога поправија прашање што се имаат Еднаш тоа беше се стрча. Тоа би било добро објаснување за тоа продолжува да работи.
  4. Markus

    This part of the article….”gave the app pool identity account full access to SQL”, can you elaborate? “app pool identity” i presume means the app pool of the sharepoint site, но “full access to SQL”, how do you give that? Creating a login on the db server for the app pool identity i think isn’t quite enough…so is it on the sharepoint content db where the new login gets dbo (?) access? Or other sharepoint db’s as well, like the config db? For me that’s tough, because my sp content db apparently isn’t handled by sql server instance, apparently it’s under “/Microsoft Office Servers/14.0/Data”, anyway i don’t see it in sql server mgr….any ideas how i give “full access to SQL” во овој случај? Any reply would be appreciated…i’m kind stuck getting my console app to create an spsite object!!

Остави Одговори

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени *