Լուծում: System.IO.FileNotFoundException մասին “SPSite = Նոր SPSite(url)”

ԹԱՐՄԱՑՆԵԼ: Ես փակցված այս հարցը պետք է MSDN այստեղ (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.

Ես ստեղծել վեբ ծառայություն է հանդես գալ որպես BDC բարեկամական ճակատ to a SharePoint list. When I used this from my development environment, այն է տուգանքով,. Երբ ես տեղափոխվել: Այս նոր սերվեր, Ես հանդիպել այս խմբին:

System.IO.FileNotFoundException: The վեբ ժամը http://localhost/sandbox չգտնուեցաւ. Ստուգել, ​​որ դուք մուտքագրել URL ճիշտ. Եթե ​​URL պետք է ծառայել գոյություն ունեցող բովանդակությունը:, ցանցի System Administrator հետ պետք է ավելացնել նոր request URL քարտեզագրում նախատեսված դիմումին. - ին, ժամը Microsoft.SharePoint.SPSite .. ctor(SPFarm ֆերմա, Uri requestUri, Բուլյան contextSite, SPUserToken userToken) - ին, ժամը Microsoft.SharePoint.SPSite .. ctor(String requestUrl) - ին, ժամը Conchango.xyzzy.GetExistingDocument(String minId, String maxId, String Վերնագրիր Ֆիլտր) Այս C:\Փաստաթղթեր եւ Պարամետրեր Paul Իմ Փաստաթղթեր Visual Studio 2005 Ծրագրեր xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:գիծ 69

Ահա գիծ 69:

օգտագործելով (SPSite site = new SPSite("http://localhost/sandbox"))

Ես փորձեցի տարբեր տատանումները վրա URL, այդ թվում օգտագործելով սերվերի իրական անունը, նրա IP հասցե, trailing slashes վրա URL, եւ այլն:. I always got that error.

Ես օգտագործում Google-ի to research it. Lots of people face this issue, կամ տատանումները է, բայց ոչ ոք կարծես թե լուծել.

Ժիր MOSS տրամադրել այնպիսի մանրամասն սխալ է, որ դա չի առաջանում ինձ ստուգելու համար 12 hive logs. Ի վերջո,, մոտ 24 ժամ անց իմ գործընկեր խորհուրդ եմ դա անել, Ես ստուգել դուրս 12 փեթակ Մատյան եւ գտել այս:

Բացառություն պատահեց փորձում է ձեռք բերել տեղական ագարակը:
System.Security.SecurityException: Հայցվող ռեեստր մուտք չի թույլատրվում.
- ին, ժամը System.ThrowHelper.ThrowSecurityException(ExceptionResource ռեսուրս) ի
(String անունը, Բուլյան writable) ի
(String անունը) ի
() ի
() ի
(SPFarm& ֆերմա, Բուլյան& isJoined)
Գոտում ժողովին, որը չի եղել:  MyComputer

Սա բացում է նոր պողոտաների հետազոտական, Այնպես որ, դա դեպի Google-ի. Դա հանգեցրեց ինձ այս ֆորում հաղորդագրությունը: 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 է 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.

Ինչ է պատահել հաջորդ լավագույնս արտահայտվում է որպես haiku բանաստեղծություն:

Problems բարձրացնել իրենց ձեռքերը.
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.

Եթե ​​որեւէ մեկը գիտի, թե ինչու է, որ պետք է աշխատել, խնդրեմ թողնել մեկնաբանություն.

</վերջ>

Արորդիների Tags:

11 thoughts on "Լուծում: System.IO.FileNotFoundException մասին “SPSite = Նոր SPSite(url)”

  1. Fernando Gomez Flores

    Nice գրառումը, շնորհակալություն. Իմ դեպքում,, իմ խնդիրը լուծվեց փոխելով webservice է apppool համապատասխանելու որ այդ SharePoint կայքի հավաքածուի.

    Կենացը,
    Fernando. Gomez F.

  2. Wilson Edgar

    Hi, Ես նաեւ had the same problem. Իսկ զարգանալ նույն մեքենայի հետ SharePoint սերվերի, Ես օգտագործում ASP Development Server տարբեր թույլտվություն չեն, անշուշտ, չի վազում տակ նույն դերը, ինչպես SharePoint (մասին ավելին այստեղ: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) Այսպիսով, ինչ, Ես ստեղծել նոր կայքը IIS (նավահանգիստ 8080) նույն ինքնության որպես SharePoint.. եւ veiled.
    Hope this helps

  3. Zac Boyles
    Կա մի լավ հնարավորություն է, որը SQL-ի securityadmin սերվերի դերը ամրագրված է, որ դուք ժամանակին էր վազում. Դա կլինի մի լավ բացատրություն է շարունակել աշխատել.
  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!!

Թողնել Պատասխանել Benjamin Ավելացնել կարծիք Չեղարկել պատասխանել

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու. Պահանջվող դաշտերը նշված են աստղանիշով *