Otopina: System.IO.FileNotFoundException na “SPSite = new SPSite(url)”

UPDATE: Sam objavio ovo pitanje na MSDN ovdje (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.

I stvorio je web servis da djeluju kao BDC-friendly fasada to a SharePoint list. When I used this from my development environment, Internet izrađen prekid. Kada sam doselila to na novi server, Naišao sam ovu pogrešku:

System.IO.FileNotFoundException: Web aplikacija na http://localhost/sandbox nije mogao biti pronađen. Provjerite jeste li ispravno upisali URL. Ako URL treba posluživanje postojeći sadržaj, Administrator sustava možda ćete morati dodati novi URL mapiranje zahtjev za namjeravanu primjenu. na Microsoft.SharePoint.SPSite .. ctor(SPFarm farma, Uri requestUri, Booleova contextSite, SPUserToken userToken) na Microsoft.SharePoint.SPSite .. ctor(String requestUrl) na Conchango.xyzzy.GetExistingDocument(String minId, String maxId, String titleFilter) u C:\Documents and Settings Paul My Documents Visual Studio 2005 Projects xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:linija 69

Ovdje je linija 69:

pomoću (SPSite stranica = new SPSite("http://localhost/sandbox"))

Pokušao sam različite varijacije na URL, uključujući i korištenje poslužitelja pravo ime, njegova IP adresa, prateći kose na URL, itd.. I always got that error.

Koristio sam Google to research it. Lots of people face this issue, ili varijante njega, ali nitko se činilo da su to riješiti.

Vragolast MOSS dostavi detaljan pogreška da to nije palo na pamet provjeriti 12 hive logs. Konačno, oko 24 sata nakon moj kolega preporučio bih učiniti, Provjerio sam iz 12 Grozd dnevnik i našli ovo:

Iznimka se dogodila dok je pokušavao steći lokalnu farmu:
System.Security.SecurityException: Traženi registra pristup nije dopušten.
na System.ThrowHelper.ThrowSecurityException(ExceptionResource resursima) na
(String ime, Booleova pisati) na
(String ime) na
() na
() na
(SPFarm& farma, Booleova& isJoined)
Zona skupštini da nije bilo:  MyComputer

To je otvorilo nove putove istraživanja, tako da je povratak na Google. To me dovelo do toga Post foruma: http://forums.codecharge.com / posts.php?post_id = 67135. 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 Andrew Connell je 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. Međutim, moj kolega je otišao i dao identiteta app bazen račun puni pristup SQL.

Čim je napravio tu promjenu, everything started working.

Što se dogodilo sljedeća najbolja izražava se kao haiku pjesma:

Problemi podići svoje ruke.
You swing and miss. Try again.
Uspjeh! But how? Zašto?

Ona nije željela ostaviti stvari samo tako, radije dati minimalnu potrebnu dozvolu (i vjerojatno s okom na pisanje blogu; Sam je pobijedio na punch, muhahahahaha!).

Ona uklanja uzastopnih dozvole od identiteta app pool račun sve dok … 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.

Tako, da recap: we gave the app pool identity full access and then took it away. The web service started working and never stopped working. Bizarre.

Ako itko zna zašto se to trebalo radio, molimo vas da ostavite komentar.

</kraj>

Technorati Tags:

11 misli o „Otopina: System.IO.FileNotFoundException na “SPSite = new SPSite(url)”

  1. Fernando Gomez Flores

    Lijep post, hvala. U mom slučaju, moj problem je riješen mijenjanje webservice je apppool odgovara onoj zbirke SharePoint web-mjesto.

    Živjeli,
    Fernando. Gómez F.

  2. Edgar Wilson

    Bok, Također sam imao isti problem. Dok se razvija na istom stroju s SharePoint poslužitelja, Ja sam koristeći ASP Development Server s različitim dozvole nije sigurno ne radi pod istim identiteta SharePoint (Više o tome ovdje: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) tako što, Imam stvoriti novu stranicu u IIS (luka 8080) s istim identitetom kao i SharePoint.. i voila.
    Nadam se ovo pomaže

  3. Zac Boyles
    Postoji dobra šansa da je SQL server securityadmin uloga fiksne pitanje ste jednom da je ran. To bi bilo dobro objašnjenje za to i dalje raditi.
  4. Faery

    Nice writeup. We are having exactly the same issue right now. This kind of problem and unexpected/unexplained behaviour is exactly why a lot of developers cannot stand working with SharePoint!

  5. 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, ali “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” u ovom slučaju? Any reply would be appreciated…i’m kind stuck getting my console app to create an spsite object!!

Ostavite odgovor na Benjamin Odustani odgovor

Vaša email adresa neće biti objavljena. obavezna polja su označena *