راه حل: System.IO.FileNotFoundException در “SPSite = جدید SPSite(آدرس)”

تکمیلی: من در این سوال در اینجا به 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, یوری requestUri, بولی contextSite, SPUserToken userToken) در Microsoft.SharePoint.SPSite .. ctor(عبارات requestUrl) در Conchango.xyzzy.GetExistingDocument(عبارات minId, عبارات maxId, عبارات titleFilter) در C:\اسناد و تنظیمات پل اسناد و مدارک من ویژوال استودیو 2005 پروژه xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:خط 69

در اینجا خط 69:

با استفاده از (سایت SPSite = جدید SPSite("http://localhost/sandbox"))

من سعی کردم تغییرات مختلف بر روی URL, از جمله با استفاده از نام واقعی سرور, آدرس آی پی خود را, کاهش انتهایی بر روی URL, غیره. I always got that error.

من استفاده می شود گوگل to research it. Lots of people face this issue, و یا تغییرات از آن, اما هیچ یک به نظر می رسید که آن را حل.

Tricksy خزه یک خطای دقیق که رخ می دهد نه برای من برای بررسی 12 hive logs. Eventually, در حدود 24 ساعت پس از همکارم توصیه من این کار را, من چک کردن 12 ورود به سیستم کندو و این:

یک استثنا رخ می داد در حالی که تلاش برای به دست آوردن مزرعه محلی:
System.Security.SecurityException: درخواست دسترسی به رجیستری مجاز نمی باشد.
در System.ThrowHelper.ThrowSecurityException(ExceptionResource منابع) در
(نام رشته, بولی را قابل نوشتن کنید) در
(نام رشته) در
() در
() در
(SPFarm& مزرعه, بولی& isJoined)
منطقه مونتاژ که شکست خورده بود:  MyComputer

این باز کردن راه های جدید پژوهشی, پس از آن دوباره به گوگل. که منجر به این پست انجمن: 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 اندرو در کانل 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.

بعد چه اتفاقی افتاد بهتر است به عنوان یک بیان شعر بی قافیه سه سطری ژاپنی شعر:

مشکلات بالا بردن دست خود را.
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.

اگر کسی می داند چرا که باید کار می کرد, لطفا ترک یک نظر.

</پایان>

11 دیدگاه در "راه حل: System.IO.FileNotFoundException در “SPSite = جدید SPSite(آدرس)”

  1. فرناندو گومز فلورس

    پست زیبا, با تشکر. در مورد من, مشکل من با تغییر apppool webservice برای مطابقت با این مجموعه سایت شیرپوینت حل شد.

    به سلامتی,
    فرناندو. گومز F.

    پاسخ
  2. ویلسون ادگار

    سلام, من هم همین مشکل بود. در حالی که در حال توسعه بر روی همان دستگاه با شیرپوینت سرور, من با استفاده از سرور توسعه ماشماهی با مجوز های مختلف مطمئنا نه تحت هویت در حال اجرا به عنوان شیرپوینت (اطلاعات بیشتر در مورد این اینجا: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).ASPX) چه خوب،, من ایجاد یک سایت جدید در IIS (بندر 8080) هویت همان شیرپوینت است.. و voila.
    امیدوارم که این کمک می کند

    پاسخ
  3. زک Boyles
    فرصت خوبی است که نقش سرور را securityadmin SQL ثابت این مسئله شما یک بار آن فرار شد وجود دارد. خواهد بود که توضیح خوبی برای آن به کار.
    پاسخ
  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!!

    پاسخ

پاسخ

آدرس ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *