פתרון: System.IO.FileNotFoundException ב “SPSite = SPSite חדש(כתובת url)”

עדכון: פרסמתי שאלה זו ל- MSDN כאן (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) Michael Washam של מיקרוסופט הגיבו עם תשובה תמציתית.

יצרתי שירות אינטרנט לפעול חזית BDC ידידותי לרשימת SharePoint. כאשר השתמשתי בזה מסביבת הפיתוח שלי, זה עבד מצוין. כאשר אני היגרו זה לשרת חדש, בשגיאה זו:

System.IO.FileNotFoundException: יישום האינטרנט- http://localhost/sandbox לא נמצא. ודא כי הקלדת כתובת ה-URL נכונה. אם כתובת ה-URL צריך לשרת תוכן קיים, מנהל המערכת ייתכן שעליך להוסיף מיפוי כתובת URL בקשה חדש המיועד ליישום. ב- Microsoft.SharePoint.SPSite.ctor(החווה SPFarm, אורי requestUri, ContextSite בוליאנית, SPUserToken userToken) ב- Microsoft.SharePoint.SPSite.ctor(מחרוזת requestUrl) ב- Conchango.xyzzy.GetExistingDocument(מחרוזת minId, מחרוזת maxId, מחרוזת titleFilter) ב- C:\מסמכים, SettingsPaulMy DocumentsVisual 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs סטודיו:קו 69

הנה קו 69:

שימוש (אתר SPSite = SPSite חדש("http://localhost/sandbox"))

ניסיתי וריאציות שונות על כתובת ה-URL, כולל שימוש השם האמיתי של השרת, כתובת ה-IP שלו, חתכים נגרר על כתובת ה-URL, ועוד. תמיד קיבלתי שגיאה זו.

השתמשתי גוגל בולקן. הרבה אנשים להתמודד עם בעיה זו, או וריאציות על זה, אבל אף אחד לא נראה שהיא תיפתר.

מוס ערמומי סיפקה כל כך מפורטת שגיאה זה לא עלה לי לבדוק 12 יומני הכוורת. בסופו של דבר, אודות 24 שעות לאחר עמיתי מומלץ שלי לעשות זאת, . בדקתי 12 כוורת רישום ומצאנו את זה:

אירע חריג במהלך מנסה להשיג את המשק המקומי:
System.Security.SecurityException: הרישום המבוקש גישה אינה מותרת.
ב- System.ThrowHelper.ThrowSecurityException(משאבים ExceptionResource) ב- Microsoft.Win32.RegistryKey.OpenSubKey(שם המחרוזת, בוליאני הניתן לכתיבה) ב- Microsoft.Win32.RegistryKey.OpenSubKey(שם המחרוזת) ב- Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() ב- Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() ב- Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& החווה, בוליאני& isJoined)
ה-Zone של ההרכבה שנכשלה היה:  MyComputer

זה פתח אפיקים חדשים של מחקר, אז זה היה לחזור גוגל. זה הוביל אותי לזה בפורום: http://forums.codecharge.com/posts.php?post_id = 67135. זה לא ממש עזר לי, אבל זה התחיל לגרום לי לחשוב שיש בעיית מסד הנתונים ו/או אבטחה. אני soldiered ו של אנדרו קונל פוסט מופעלות בסופו של דבר המחשבה כי אני צריך לוודא שיש זהות לחשבון מאגר היישומים הגישה המתאימה במסד הנתונים. . חשבתי שכבר עשו. עם זאת, עמיתי הלך ונתן את האפליקציה בריכה זהות חשבון גישה מלאה ל- SQL.

ברגע שהיא עשתה את השינוי, הכל התחיל לעבוד.

מה קרה לאחר מכן היא הטובה ביותר לבטא האיקו השיר:

בעיות הרימו את הידיים שלהם.
לך לזוז ולפספס. נסה שוב.
הצלחה! אבל איך? ? למה?

היא לא רצתה לעזוב דברים כאלה, העדפת לתת את ההרשאה הנדרשת המינימלית (ואת בטח כדקה כתיבת ערך בלוג; אני להקדים אותה, muhahahahaha!).

היא הסרת הרשאות רצופים חשבון זהות מאגר app עד … . לא היה עוד כל הרשאה מפורשת עבור החשבון זהות מאגר app בכלל. שירות האינטרנט המשיך לעבוד מצוין.

הלך ואנו יאותחל מחדש את השרתים. הכל המשיך לעבוד בסדר.

כל כך, לסיכום: אנו נתנו את האפליקציה זהות מלאה לבריכה, ואז לקח אותו. שירות האינטרנט התחיל לעבוד, אף פעם לא הפסיק לעבוד. מוזר.

אם מישהו יודע למה זה צריך לעבוד, אנא השאירו תגובה.

</קצה>

תגיות טכנורטי:

11 מחשבות על "פתרון: System.IO.FileNotFoundException ב “SPSite = SPSite חדש(כתובת url)”

  1. פרננדו גומז פלורס

    פוסט נחמד, תודה. במקרה שלי, הבעיה שלי נפתרה על-ידי שינוי apppool של webservice כדי להתאים אוסף אתרים של sharepoint.

    לחיים,
    פרננדו A. גומז F.

  2. Wilson Edgar

    היי, גם היה לי את אותה בעיה. תוך פיתוח באותו מחשב עם שרת sharepoint, אני משתמש שרת פיתוח Asp עם הרשאה שונות לא בהחלט לא פועל תחת הזהות אותו כמו sharepoint (עוד על זה כאן: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) אז מה, יש ליצור אתר חדש ב- IIS (יציאה 8080) עם זהות זהה כמו sharepoint.. וזהו.
    מקווה שזה עוזר

  3. Boyles זק
    יש סיכוי טוב תפקיד שרת securityadmin של SQL קבוע את הנושא שהיה לך פעם אחת, הוא היה רץ. . זה יהיה הסבר טוב לכל זה ממשיך לעבוד.
  4. הפארי

    Writeup נחמד. . יש לנו בדיוק באותו העניין ממש עכשיו. זה סוג של הבעיה ואת התנהגות לא צפוי/מוסבר היא בדיוק הסיבה הרבה יזמים לא סובלת את העבודה עם SharePoint!

  5. מרקוס

    חלק זה של המאמר….”נתן את האפליקציה בריכה זהות חשבון גישה מלאה ל- SQL”, אתה יכול לפרט? “זהות מאגר app” אני מניח שאומר הבריכה האפליקציה של אתר ה-sharepoint, אבל “גישה מלאה ל- SQL”, איך נותנים את זה? יצירת כניסה על שרת ה-db עבור זהות בריכה app, שאני חושב. לא מספיק…אז זה על db תוכן sharepoint משם ההתחברות החדשה מקבלת dbo (?) גישה? או אחרים sharepoint db של גם כן, כמו config db? לי זה קשה, כי ככל הנראה db התוכן שלי sp לא מטופל על-ידי מופע שרת sql, מסתבר שזה תחת “/Microsoft Office Servers/14.0/Data”, בכל מקרה אני לא רואה את זה ב- sql server mgr….יש לך רעיונות איך לתת “גישה מלאה ל- SQL” במקרה זה? כל תשובה יהיה מוערך…אני די תקוע מקבל את האפליקציה מסוף כדי ליצור אובייקט spsite!!

השאירו תגובה כדי בנג'מין בטל תגובה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *