Solution: System.IO.FileNotFoundException შესახებ “SPSite = new 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: ვებ განაცხადი http://localhost/sandbox ვერ. შემოწმება, რომ თქვენ აკრეფილი URL სწორად. თუ URL უნდა იყოს ემსახურება არსებული შინაარსი, სისტემის ადმინისტრატორის უნდა დაამატოთ ახალი მოთხოვნის URL რუკების წინასწარ განზრახული განაცხადის. ზე Microsoft.SharePoint.SPSite .. ctor(SPFarm მეურნეობა, Uri requestUri, ლოგიკური contextSite, SPUserToken userToken) ზე Microsoft.SharePoint.SPSite .. ctor(სიმებიანი requestUrl) ზე Conchango.xyzzy.GetExistingDocument(სიმებიანი minId, სიმებიანი maxId, სიმებიანი ტიტული ფილტრი) in C:\დოკუმენტები და პარამეტრები პოლ ჩემი დოკუმენტები Visual Studio 2005 პროექტები xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:ხაზი 69

აქ არის ხაზზე 69:

გამოყენებით (SPSite საიტი = new SPSite("http://localhost/sandbox"))

მე შევეცადე სხვადასხვა ვარიაციები URL, მათ შორის გამოყენებით სერვერზე ნამდვილი სახელი, მისი IP მისამართი, არასასურველი დახრილ ხაზებს on URL, და ა.შ.. I always got that error.

მე Google to research it. Lots of people face this issue, ან ვარიაციები ეს, მაგრამ არავინ ჩანდა, რომ ეს გადაწყდება.

Tricksy MOSS თუ ასეთი დეტალური შეცდომა, რომ ეს არ მოხდეს ჩემთვის, რათა შეამოწმოს 12 hive logs. Eventually, შესახებ 24 საათის შემდეგ ჩემს კოლეგას რეკომენდაცია I გაკეთება, მე გადამოწმებული 12 hive ჟურნალი და აღმოჩნდა ამ:

გამონაკლისი მოხდა, ხოლო ცდილობს შეიძინოს ადგილობრივი მეურნეობა:
System.Security.SecurityException: მოთხოვნილი რეესტრის ხელმისაწვდომობის ნებადართული არ არის.
ზე System.ThrowHelper.ThrowSecurityException(ExceptionResource რესურსი) ზე
(სიმებიანი სახელი, ლოგიკური ჩაწერადი) ზე
(სიმებიანი სახელი) ზე
() ზე
() ზე
(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 ანდრია 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 პოემა:

პრობლემები ამაღლება ხელში.
You swing and miss. Try again.
წარმატება! But how? რატომ?

მან არ სურს დატოვოს რამ მარტო, როგორიცაა, რომ, უნდოდათ, რათა მინიმალური ნებართვა (და ალბათ თვალი წერილობით წაკითხვა შესვლის; მე სცემეს მისი punch, 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.

ასე რომ,, to Recap: 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 "Solution: System.IO.FileNotFoundException შესახებ “SPSite = new SPSite(url)”

  1. Fernando Gómez Flores

    ნიცაში პოსტი, მადლობა. ჩემს შემთხვევაში, ჩემი პრობლემა გადაწყდა შეცვლით webservice ნახვა apppool ემთხვევა, რომ SharePoint საიტი კოლექციაში.

    გაისმა,
    Fernando. Gómez F.

  2. Wilson Edgar

    Hi, აგრეთვე, იგივე პრობლემა. მიუხედავად იმისა, რომ განვითარებად იგივე მანქანა ერთად SharePoint სერვერზე, მე გამოყენებით Asp განვითარების Server სხვადასხვა ნებართვა არ რა თქმა უნდა, არ ხორციელდება იმავე თვითმყოფადობის SharePoint (მეტი ამ აქ: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) მერე რა, მე შექმნა ახალი საიტი IIS (პორტში 8080) იგივე თვითმყოფადობის SharePoint.. და შეფარულ.
    იმედი მაქვს, ეს ეხმარება

  3. ზაკ 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!!

დატოვე პასუხი უნდა ბენჟამინ პასუხის გაუქმება

თქვენი ელ-ფოსტა არ გამოქვეყნდება. აუცილებელი ველები მონიშნულია *