Oplossing: System.IO.FileNotFoundException op “SPSite = nuwe SPSite(url)”

UPDATE: Ek gepos hierdie vraag hier aan MSDN (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.

Ek het 'n web om op te tree as 'n BDC-vriendelike fasade to a SharePoint list. Toe ek dit uit my ontwikkeling omgewing, dit werk goed. Wanneer ek migreer na 'n nuwe bediener, Ek het hierdie probleem ondervind:

System.IO.FileNotFoundException: Die Web aansoek by http://localhost/sandbox kon nie gevind word nie. Kontroleer dat jy die URL korrek ingetik het. As die URL moet bedien word om bestaande inhoud, die stelsel administrateur mag nodig wees om 'n nuwe versoek URL kartering te voeg tot die voorgenome aansoek. by Microsoft.SharePoint.SPSite .. ctor(SPFarm vrag, Uri requestUri, Boole contextSite, SPUserToken userToken) by Microsoft.SharePoint.SPSite .. ctor(String requestUrl) by Conchango.xyzzy.GetExistingDocument(String minId, String maxId, String titleFilter) in C:\Documents and Settings Paul My Documents Visual Studio 2005 Projekte Xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:lyn 69

Hier is lyn 69:

die gebruik van (SPSite webwerf = nuwe SPSite("http://localhost/sandbox"))

Ek het probeer om die verskillende variasies op die URL, insluitend die gebruik van die bediener se regte naam, die IP-adres, die sleep houe op die URL, ens.. I always got that error.

Ek gebruik Die Google to research it. Lots of people face this issue, of variasies daarvan, maar niemand het dit opgelos.

Speels MOSS so 'n gedetailleerde fout dat dit nie gebeur het nie vir my om seker te maak 12 hive logs. Uiteindelik, oor 24 uur na my kollega Aanbevole ek dit doen, Ek nagegaan word uit die 12 korf log en het gevind dat hierdie:

'N Uitsondering het voorgekom terwyl hy probeer om die plaas aan te skaf:
System.Security.SecurityException: Versoek register toegang nie toegelaat.
by System.ThrowHelper.ThrowSecurityException(ExceptionResource hulpbron) op
(String naam, Boole skryfbaar) op
(String naam) op
() op
() op
(SPFarm& plaas, Boole& isJoined)
Die Seun van die vergadering wat versuim het om:  MyComputer

Dit het nuwe moontlikhede van navorsing, so was dit terug na die Google. Dit het my gelei tot hierdie forum post: 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 Andrew Connell se 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. Egter, my kollega het gegaan en het die app swembad identiteit rekening volle toegang tot SQL.

Sodra sy dat verandering, everything started working.

Wat volgende gebeur is die beste uitgedruk as 'n haiku gedig:

Probleme verhoog hul hande.
You swing and miss. Try again.
Sukses! But how? Hoekom?

Sy wou nie dinge te los soos wat, verkies om die minimum vereiste toestemming te gee (en waarskynlik met die oog op die skryf van 'n blog inskrywing; Ek klop haar aan die punch, muhahahahaha!).

Sy verwyder opeenvolgende regte van die app swembad identiteit rekening tot … 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.

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

As iemand weet waarom dit gewerk het, los 'n comment.

</einde>

Technorati Tags:

11 gedagtes oor "Oplossing: System.IO.FileNotFoundException op “SPSite = nuwe SPSite(url)”

  1. Fernando Gomez Flores

    Nice post, dankie. In my geval, my probleem is opgelos deur die verandering van die webservice se apppool dié van die SharePoint site versameling aan te pas.

    Cheers,
    Fernando A. Gómez F.

    Antwoord
  2. Wilson Edgar

    Hi, Ek het ook dieselfde probleem. Terwyl die ontwikkeling op die dieselfde masjien met Sharepoint bediener, Ek gebruik Asp Ontwikkeling Server met verskillende toestemming nie beslis nie onder dieselfde identiteit as Sharepoint (meer oor dit hier: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) ja, wat, Ek het 'n nuwe tuiste in IIS (hawe 8080) met dieselfde identiteit as Sharepoint.. en voila.
    Hoop dit help

    Antwoord
  3. Zac Boyle
    Daar is 'n goeie kans dat die SQL se securityadmin bediener rol vasgestel die probleem wat jy het sodra dit was gehardloop. Dit sou 'n goeie verduideliking wees, want dit is om te werk.
    Antwoord
  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!

    Antwoord
  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, maar “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” in hierdie geval? Any reply would be appreciated…i’m kind stuck getting my console app to create an spsite object!!

    Antwoord

Laat 'n antwoord te Benjamin Kanseleer antwoord

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk *